コンテナオーケストレーションツールとは?
クラウドネイティブNow
コンテナには運用が大変という課題もありますが、その課題を解決してくれるコンテナ管理ツールである「コンテナオーケストレーションツール」について説明します。
運用の課題はコンテナ管理ツールで解決
コンテナには多くのメリットがありますが、複数のサーバーに配置されたコンテナの運用が非常に大変になるというデメリットがあります。この運用の課題を解決してくれるのがコンテナ管理ツールである「コンテナオーケストレーションツール」です。
コンテナオーケストレーションツールには、複数のサーバーに配置されたコンテナを一括して管理・運用するためのさまざまな機能が提供されており、コンテナの使用による運用負荷を大幅に軽減できます。
コンテナオーケストレーションツールはいくつか存在しますが、現在はオープン・ソース・ソフトウェア(OSS)である「Kubernetes(クバネティス)」がデファクトスタンダードとなっています。Kubernetesは、基はGoogle社が開発したツールで、現在はLinux Foundation プロジェクトの一つであるCloud Native Computing Foundationが開発を主管しています。
コンテナオーケストレーションツールの主な機能
コンテナオーケストレーションツールの主な機能として、次のようなものがあります。
-
コンテナの死活監視
コンテナが停止していないかを監視します。 -
複数のコンテナホスト管理
コンテナがどのサーバーに配備されているかを管理し、また、その情報をユーザーが容易に取得できます。 -
オートスケーリング
起動されているコンテナの負荷状況により、自動的にコンテナのスケールイン・スケールアウトを行います。 -
コンテナのスケジューリング
コンテナを配備する場合に、サーバーの負荷状況などから配備に適したサーバーを自動的に判断します。 -
サービスディスカバリー
他サーバーなどで稼働しているコンテナを自動的に検出し、コンテナ間の通信を容易にします。 -
障害時の自動復旧
障害によりコンテナが停止した場合、そのコンテナを破棄し新たなコンテナを起動します。
コンテナオーケストレーションツール導入前後のイメージ
デファクトスタンダードのコンテナオーケストレーションツールである「Kubernetes」を導入する前後で、コンテナを使用した場合の運用面を比較してみます。図中の丸付き数字は上記で上げた主な機能の数字と合わせています。
Kubernetes導入前
Kubernetesを導入せずにコンテナを使用した場合は、上で挙げたようなコンテナ管理のあれこれを手動で行う必要があり、運用面で大きな負荷がかかります。
Kubernetes導入後
Kubernetesを導入してコンテナを使用した場合は、上で挙げたようなコンテナ管理のあれこれをKubernetesが設定に従って自動で行ってくれるため、運用負荷が大幅に軽減されます。
コンテナオーケストレーションツール使用のメリットとデメリット
メリット
コンテナオーケストレーションツールを活用することで、複数コンテナを効率的に統合管理でき、運用負荷の大幅な軽減が期待できます。
- 自動でどのサーバーにどのコンテナを配備するかを決定してくれる。
- 一回のコマンドで全てのコンテナにおける状況が把握できる。
- 1つのコンテナに障害が起きて停止してしまった場合でも自動的に回復してくれる機能がある。
また、コンテナやコンテナオーケストレーションツールを採用することで、クラウドネイティブの要素技術を採用した変化に強いサービス基盤を構築できます。
デメリット
コンテナオーケストレーションツールの使用には、デメリットもあります。デメリットとしては大きく次の3つが挙げられます。
- Kubernetesや関連する周辺ツールは新しいツールであり変化が激しいため、継続的な学習が必要でありコストがかかる。
- 多くのツールがOSSであるため、コミュニティーレベルでのサポートである場合も多い。そのため、トラブル時に自力で問題を解決できる体制を組むなどの注意が必要である。
- Kubernetesや関連する周辺ツールは頻繁にアップデートがあり、また、サポート期間も短く設定される傾向にある。そのため、短いサイクルでアップデートへの追随が必須であり、環境維持にも工数が発生する。
こういったデメリットを解消するため、Kubernetesを取り込んだ基盤製品やクラウドサービスがリリースされています。運用しやすく、安定的なシステムを構築するためには、それらを活用することが強く推奨されます。
まとめ
コンテナ技術には、従来の仮想化技術に比べ次のような特長があります。
- 軽くて速いため取り回しが良く、すぐに使うことができる。
- サイズが小さいため、効率的なリソース利用ができる。
- 必要なものをパッケージングできるため、異なる環境への移行が容易にできる。
また、コンテナを採用したシステムを運用する際の問題点を解決するためのツールとして、コンテナオーケストレーションツールがあり、次のような特長があります。
- コンテナの管理や配置、死活監視や自動復旧・オートスケーリングといったコンテナの運用に必要なことを自動で行ってくれる。
- デファクトスタンダードのツールはKubernetesである。
実際にコンテナおよびコンテナオーケストレーションツールを採用する際は、安定的な運用を行うためにリリースされているKubernetesを取り込んだ基盤製品や、クラウドサービスを活用することが強く推奨されます。
本コンテンツに関するお問い合わせ
お電話でのお問い合わせ
Webでのお問い合わせ
当社はセキュリティ保護の観点からSSL技術を使用しております。