Member-only story
開発者向けKubernetesの課題―パート1
クラウドネイティブアプリケーションでは、コンテナのクラスタリングに関して、Kubernetesの導入が進んでいます。Kubernetesのおかげで、エンドユーザーは計り知れないほど手軽に便利に、技術的に高度なサービスをより迅速に開発できるようになりました。しかし、開発が進み、開発者コミュニティに広く導入されるにつれて、このフレームワークにも新たな課題と限界が訪れています。
数多くの管理上の課題があるため、開発者はこのフレームワークの使用に慎重になってしまいます。Kubernetesの運用方法を緩和したい場合、必ず対処・解決しなければならない課題を紹介します。
1.YAML を手動で操作する場合
Kubernetesを扱う上で、数多くのYAMLマニフェストファイルを作成することは大きな負担となっています。
さて、YAMLはすでに作業が複雑なフレームワークであり、Kubernetesではこれらのファイルを手動で作成する必要があるため、作業はさらに面倒なものになります。さらに、Kubernetesは高度なレベルのYAMLを使用しているため、さらに問題が複雑になっています。これは、個別に管理する必要がある冗長なステップを大量に招き、開発者は誰も喜ばないし、好ましいことではありません
たとえ冗長なステップを処理できたとしても、膨大な数の小さなYAMLファイルが残されています。このすべてをリバースマッピングするのは、非常に困難な作業です。いくつかのケースでは、これらの YAML ファイルは驚くほどの速さで大きくなります。これらのファイルをすべて手動で管理することは、単に実行不可能なタスクである。このシナリオでは、CloudPlexのようなソリューションによる自動化が必須である。KubernetesのYAMLマニフェストファイルの作成を自動化することで、開発者は作業に多くの手作業を入れることなく、何千ものYAMLファイルを生成できるようになります。そうすることで、多くの時間を節約し、開発者は他のコアコンピタンスに集中することができます。
2. アプリケーションのライフサイクルを管理する場合
Kubernetesのようなコンテナベースのアプリケーションの考え方は、頻繁なバグリリースやソフトウェアの更新を簡単に行えるようにすることです。毎日1回、毎週1回、毎月1回のリリースが必要であっても、その作業はKubernetesを介して効率的に実行することができます。しかし、このソフトウェアアップデートのリリースの容易さは、Kubernetesの最大の制約の1つにもなっています。どんなコードリポジトリでも、多数のソースからあまりに多くのコードコミットを受け取ると、予期せぬ異常なユーザー反応を引き起こすことになるのです。これは最終的にコードベースの崩壊につながります。