メインコンテンツにスキップ
ブログコンテナ (Kubernetes、Docker)Kubernetesに関するよくある質問にお答えします

Kubernetesのトップクラスの質問にお答えします

トップクラスのKubernetes-Questions-Answered

9回のKubernetesイベントと、自社開発の一環としてKubernetesプロジェクトに7年間携わってきて、私たちは開発者コミュニティとの対話に十分な時間を費やしてきました。どのイベントに参加しても、様々な導入段階を目にし、複雑さや実行可能性についての質問を受けます。ここでは、Kubernetesに関する代表的な質問とその回答を紹介します。


水面をテストする。自分のアプリケーションにKubernetesを使い始めるべきか?

Linodeの主要なソリューションエンジニアであるBilly Thompsonは、ヨーロッパで最近開催されたKubeConに参加しました。ここでは、彼がKubernetesの実験を始めたばかりの開発者たちから聞いた話を紹介します。

「多くの人がまだKubernetesを探求しており、他の開発者と話して、このプラットフォームについてより深く学んでいたのです。多くの場合、彼らはできる限り多くを学び、その情報を自分のチームに持ち帰るために参加していました。近い将来、自分たちのプロジェクトでKubernetesが実現可能かどうかを判断するための「事実調査」ミッションと呼べるでしょう。"

これは全く驚くべきことではなく、K8sがまだ比較的新しい技術であることを忘れてはいけません。自動スケーリングやポータビリティといった主要な利点はあるものの、インフラ やアプリケーションの大幅な変更はコストと時間がかかるものです。レガシーな展開がうまくいっている場合、新しいプラットフォームを採用することを正当化することは困難です。しかし、現状での環境のスケーリングがどうしても不便になったり、実用的でなくなったり、あるいは不可能になったときのために、常に将来の対策について考えておく必要があります。

設計とリファクタリング。Kubernetesを使い始めるために必要なこととは?

既存のアプリケーションのリファクタリングを準備している場合でも、ゼロから始める場合でも、始めるために必要なことをお話ししましょう。私は、Linode Kubernetes Engine (LKE) の専任エンジニアの一人であるTodd Becker に、初めてコンテナ化されたワークロードにアプローチする人へのアドバイスを尋ねました。Kubernetes やその他のクラウド ネイティブ ツールを真に活用するためにモノリシックなアプリケーションをリファクタリングすることが、いかに気後れするかについて話したいと思いました。

"Kubernetesの素晴らしさを十分に活用するためには、多くのアプリケーションを調整する必要があります。しかし、ほとんどのアプリケーションは、あまりリファクタリングせずにKubernetes上で動作させることができ、なおかつ大きなメリットを享受することができます。"

そのため、理想的ではありますが、Kubernetesとコンテナの使用を開始するには ないKubernetesとコンテナの使用を開始するには、完全なマイクロサービス・アーキテクチャ・セットが必要です。モノリシックなアプリケーションでも、ポータビリティ、スケーラビリティ、環境の一貫性を活用することは可能です。ただし、これらは一般論です。各アプリケーションにはそれぞれ固有の要件がありますが、レガシーアプリケーションが必ずしもコンテナ化から除外されるわけではないことを理解しておくことが重要です。

Ready toGo:何か良いツールはないでしょうか?

Kubernetes向けのネイティブな開発を開始する準備ができている場合、ツールや方法論が経験の合理化に役立つことがあります。継続的インテグレーションと継続的デリバリー(CI/CD)プロセスは、開発から生産までの時間を短縮しています。

Toddは、2019年にGoogleが開発した「Kubernetes開発者のベストフレンド」であるSkaffoldを強く推奨しています。以下は、Toddのコメントです。 

"Skaffoldは、Kubernetes上で開発するための素晴らしいツールです。これにより、開発者は自分のマシン上でローカルにではなく、Kubernetesクラスターで開発環境をホストすることができます。ラップトップやワークステーション上の貴重な計算リソースを解放することに加えて、これには多くの作業上の利点があります。Skaffold は、環境全体をライブの Kubernetes クラスターにデプロイすることで、コンテナを書き込むよりもはるかに近くで開発環境と本番環境をミラーリングし、開発ワークスペースを他のエンジニアと共有して、より迅速に共同作業を開始することができます。これは、開発者と運用者の間のギャップを埋めて、誰もがKubernetesに親しめるようにするのに役立ちます。"

Toddの説明では、SkaffoldはKubernetesの開発にほぼ必須と思われますが、まだ3年も経っていないのです。新興の技術が持つメリットの大きさが、採用の突破口となることもありますが、これもサイクルの重要な側面です。プラットフォームが成熟してくると、日々少しずつですが、ユーザーが増えることで、より簡単にするために働く人が増えます。これは雪だるま式に増えていくもので、特にオープンソースの技術では、より広いコミュニティからの貢献が可能になります。

痛点とプロバイダー。どうすればエクスペリエンスを向上させることができますか?

確かに、誰もがKubernetesの初期段階やテスト段階にあるわけではありません。かなりの数のプロジェクトがすでにKubernetesを本番で使用しているので、それらの開発者が何を話しているのか、Billy Thompsonに立ち返ったのです。

「スピード。多くのプロバイダーがこの期待に応えていません。エフェメラル・ストレージを使った小さなクラスタの立ち上げでも、多くの場合、20分以上かかることがあります。これは、特に教師やライブ・デモンストレーションをする人にとっては、苦痛を感じるほどの時間です。

LKEはどうですか?

"あなたのクラスタはLKEで2-3分で起動し、稼働します。 Terraformで2-3分で稼働します。

管理ツールや互換性も大きなトピックです。Kubernetesは非常に威圧的ですが、サードパーティにはフレンドリーで直感的なUIがいくつかあります。

"それは非常によくある質問でした。のようなクラウドに依存しないツールを使っている人が Rancherを使用しており、異なるプロバイダを使用する機能を求めています。これらはLKEと互換性があり、デプロイする際には LinodeAPIまたはTerraform 。"

これは、新しい技術が成熟するもう一つの段階、つまりユーザーフレンドリーになることです。Kubernetesは2020年4月にkubectlの機能をWeb UIにするために独自のDashboardをリリースしましたが、サードパーティのソリューションはもう少し前から存在しています。Kontena Lensは2019年にGAを実施し Rancherは2016年(Kubernetes 1.0の約1年後)まで遡って1.0をヒットさせました。これらのツールは利用可能で、ますますアクセスしやすくなっています。LKEはデフォルトでKubernetes Dashboardをインストールし、Linode Cloud Managerの各クラスタにあるKubernetes Dashboardのリンクからアクセスすることが可能です。

次のステップ

私たちは、転換期に差し掛かっています。Kubernetesの利点は、新しい技術を採用する際の最初の課題を突破し、自立的なサイクルに入りつつあります。K8sを利用する開発者が増えればK8sプロジェクトの量が増え、プロジェクトの増加に伴いK8s開発者の需要も増加します。これはサービスプロバイダーにも及んでおり、サービスプロバイダーは新しいツールをリリースし、チューニングすることでKubernetesサポートを強化する需要の増加に対応しています。

今日、アプリケーションの本番環境でKubernetesを実行することは、実用的であり、かつアプローチしやすいことです。私たちは、より多くの開発者がKubernetesを使い始めるのを支援できることに興奮しています。

Kubernetesを使っていて、LKEで見てみたいものがありますか?私たちに教えてください。


コメント (1)

  1. Author Photo

    Kubernetes brings convenience and improves efficiency, but it also increases the cost of use

コメントを残す

あなたのメールアドレスは公開されません。必須項目には*印がついています。