|
[51CTO.com クイック翻訳] Googleが開発したコンテナオーケストレーションツールであるKubernetesは、アジャイル開発やDevOpsチームにとって重要なリソースとなっています。オープンソースツールであるKubernetesは、自己完結型のエコシステムを形成しつつあり、それをサポートする他のツールも開発されています。これらのツールの中にはKubernetesから直接派生したものもあれば、オープンソースプロジェクトとして開発されたものもあります。 Kubernetes は公式ウェブサイト (https://kubernetes.io/docs/tools/) で多数のネイティブオープンソースツールを公開していますが、それぞれのツールはより深く掘り下げる価値があると考えています。これらのツールの中には、Kubernetes 初心者に人気のものもありますが、システムの仕組みを十分に理解した上で使用すべきものもあります。 これらのツールを試す準備ができたら、Kubernetes が提供する包括的なドキュメントが役立ちます。関連ページへのリンクもすべて掲載しています。 Kubernetes ライフをアップグレードする準備はできましたか? さあ、始めましょう! I. ネイティブツール 1. クビードム Kubeadm は、物理サーバー、クラウドサーバー、または仮想マシン上で安全な Kubernetes クラスターを簡単に構成できるコマンドラインツールです。これにより、Kubernetes クラスターを簡単かつ安全に起動できます。Kubeadm で作成されたクラスターは、Kubernetes 適合性テスト (http://blog.kubernetes.io/2017/10/software-conformance-certification.html) に合格するように設計されています。 Kubeadmは、Kubernetesを初めて使用するユーザーがKubernetesを試用して理解を深めるのに役立つだけでなく、既存のユーザーがアプリケーションをテストしたり、簡単にクラスターを作成したりするのに便利です。Kubernetesクラスターの有効性をテストするのに適しており、Kubernetesの導入を決定した後に必要なスケーラビリティをチームに提供します。 2. クベクトル Kubectl は Kubernetes 用のコマンドラインツールで、Kubernetes クラスターマネージャーを制御するために使用されます。Kubectl には、異なる API バージョン間でのファイル変換やコンテナコマンドの実行など、より正確なクラスター管理制御のためのサブコマンドがいくつかあります。サブコマンドの完全なリストは、こちら (https://kubernetes.io/docs/reference/generated/kubectl/kubectl/) でご覧いただけます。 3. クーベフェッド Kubernetes の便利なコマンドラインツールとして、Kubefed コマンドがあります。このツールは、フェデレーションクラスターの管理に役立ちます。Kubefed を使用すると、新しい Kubernetes クラスターのフェデレーションコントロールプレーンをデプロイできます。また、既存のフェデレーションコントロールプレーンにクラスターを追加したり、クラスターを削除したりすることもできます。このツールは、Kubernetes バージョン 1.5 以降でのみ使用できます。 Kubefed でクラスター フェデレーション メカニズムを起動して実行するには、このガイド (https://kubernetes.io/docs/tasks/federation/set-up-cluster-federation-kubefed/#prerequisites) をお読みください。 4.ミニクベ Minikubeは、開発とテストに最適なKubernetesツールです。Kubernetesを初めて使用するユーザーにも最適なツールです。Minikubeは、開発とテストのために単一ノードのKubernetesクラスターをローカルで実行することを容易にします。Minikubeは、DNS、NodePort、ConfigMapとSecret、ダッシュボード、コンテナランタイム環境(Docker、rkt、CRI-O)など、多数のKubernetes機能をサポートし、CNIとIngressもサポートしています。 Minikube の有効化は簡単です。こちらのステップバイステップガイド (https://kubernetes.io/docs/tasks/tools/install-minikube/) に従って、素早く簡単にインストールしてください。 5. ダッシュボード Kubernetesダッシュボードは非常に便利なクラスター管理ツールです。コンテナ化されたアプリケーションをKubernetesクラスターにデプロイし、Webベースのダッシュボードから問題のトラブルシューティングを行うことができます。デプロイ後は、クラスターとそのすべてのリソースを完全に管理できます。 起動すると、ダッシュボードで実行中のすべてのアプリケーションの包括的なビューが表示されます。また、Kubernetesリソースを変更することもできます。これらのリソースには、DaemonSet、Deployment、Jobs、その他使用するあらゆるリソースが含まれます。 Retrace (https://stackify.com/retrace/) を使用するとアプリケーションを明確に理解できるのと同様に、Dashboard を使用するとすべての Kubernetes リソースを表示し、発生する可能性のあるエラーを見つけることができます。 これは、Kubernetes ツール ページ (https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard) から取得した Kubernetes ダッシュボードの例です。 II. サードパーティ製ツール サードパーティ製のKubernetesツールはKubernetes自体によって開発されているわけではありませんが、熱心なオープンソース開発者を支援する活発なコミュニティの恩恵を受けています。Kubernetesは公式ウェブサイトでこれらのツールを推奨しているため、Kubernetes自体と同様に信頼できます。 1. ヘルム HelmはKubernetesダイアグラムの管理に最適なツールです。Kubernetesダイアグラムは基本的にパッケージであり、事前設定されたKubernetesリソースの集合です。これらのダイアグラムは、パッケージの説明と、Kubernetesマニフェストファイルを含む1つ以上のテンプレートの2つの部分で構成されています。つまり、HelmはKubernetesアプリケーションのインストールと管理を簡素化します。 Helm は、DevOps チームが Kubernetes アプリケーションをスムーズに実行するための貴重な機能を豊富に提供しています。人気のソフトウェアは、公式の Kubernetes ダイアグラムとしてパッケージ化されています。一部のダイアグラムは Kubeapps (https://kubeapps.com/) で入手できます。さらに、独自のアプリケーションを Kubernetes ダイアグラムとして作成し、他のユーザーが利用できるように共有することも可能です。 2. コンポーズ コンテナ管理の経験はあるものの、Kubernetesに馴染みのない開発者にとって、Komposeは最適なツールです。コンテナの経験がある方であれば、Docker Compose(https://docs.docker.com/compose/)についてもご存知でしょう。Komposeを使えば、コマンドをクリックするだけで、ComposeファイルやアプリケーションをKubernetesオブジェクトに簡単に移行できます。 Docker ComposeファイルをKubernetesリソースに転送する際、転送結果が完全に正確ではない可能性があるため、転送後は必ずデータを慎重に検証してください。ただし、Docker Composeに慣れたユーザーにとって、Komposeを使った転送は非常に便利です。 III. Kubernetes をさらに活用する Kubernetesは、コンテナとマイクロサービスのエコシステム(https://stackify.com/microservices-containers/)において不可欠な役割を果たしています。Kubernetesを使用すると、必要な数のコンテナを接続・管理しながら、より俊敏で安全なアプリケーションを開発できます。 Kubernetesを中心に活気に満ちた堅牢なエコシステムが構築されており、この記事で紹介したツールはそのほんの一部に過ぎません。コンテナとKubernetesを採用する開発者が増えるにつれて、コンテナとKubernetesの機能を拡張するツールがますます増えると予想されます。 原題: コンテナアーキテクチャを拡張するための7つのKubernetesツール、著者: JOHN JULIEN [この記事は51CTOによって翻訳されました。提携サイトへの転載の際は、元の翻訳者と出典を51CTO.comとして明記してください。] |