コンテナ管理とは
コンテナ管理とは、コンテナの作成、デプロイ、スケーリングを自動化するためのプロセスです。コンテナ管理によって、コンテナの大規模な追加、交換、整理が容易になります。

メリットと課題:2021 年 Kubernetes に関する状況の概要

VMware vSphere 環境で高いパフォーマンスを維持しながら Kubernetes を運用できる 5 つの理由
コンテナ プラットフォームとは
コンテナ プラットフォームは、コンテナ化されたアプリケーションを作成、管理、保護するためのソフトウェアです。コンテナ管理ソフトウェアを使用することで、ネットワークをより簡単かつ迅速に構築できるほか、コンテナ オーケストレーションが可能になります。コンテナ プラットフォームにより、コンテナ化されたアプリケーションに関する以下のような各種のプロセスに対応できます。
- ガバナンス
- 自動化
- 階層型のセキュリティ
- 拡張性
- エンタープライズ サポート
コンテナ ツールとは
コンテナ オーケストレーション プラットフォームとしてもっとも広く利用されているのが、コンテナ化されたアプリケーションを管理するための拡張性に優れたオープンソース ソリューションである Kubernetes です。Kubernetes は以下のような各種の管理ツールを提供しています。
- サービス検出とロードバランシング
- ロールアウトとロールバックの自動化
- ストレージ オーケストレーション
- 構成管理
Docker も人気の高いコンテナ ソフトウェアであり、Kubernetes と組み合わせて使うことができます。両者の違いの一つは、Docker が 1 つのノードで動作するのに対し、Kubernetes は複数ノードのクラスタの大規模な管理を目的としている点です。
Docker のコンテナ ライフサイクル管理には、running、paused、exited、retired など、コンテナのワークフローにおけるさまざまな段階が含まれます。現在のステータスが running の Docker コンテナには、ライフサイクルの次の段階として 3 つのオプションがあります。
- exit:exit への切り替えは、休日などで会社の業務が一定の期間中断される場合に最適です。
- pause:pause への切り替えは、ランダムアクセス メモリ(RAM)を特定の 1 つのアプリケーションに一時的に割り当てる場合に有効です。
- kill:kill への切り替えは、サーバの要件を変更したり、コンテナをまったく別のサーバに移行したりするなど、なんらかの変更を行う際に必要になります。
コンテナ管理では Docker と Kubernetes が広く採用されており、利用しやすいソリューションとなっています。
コンテナ管理戦略
コンテナ管理にはコンテナ プラットフォームが欠かせませんが、プラットフォームの選択はコンテナ管理の最初のステップに過ぎません。全般的な管理システムの選択と、その他の管理ツールを追加するための戦略の策定も必要です。この戦略を策定するにあたっては、クラウド アーキテクチャ(パブリッククラウド、プライベートクラウド、またはハイブリッドクラウドのどれを使用するか、利用するクラウド プロバイダーは複数か、どのプロバイダーを利用するか)を考慮する必要があります。また、スタッフの技術面での専門知識の有無、組織の予算など、その他の要素も重要です。
1 つのデータセンターのみを使用する非常に基本的なプライベートクラウド環境であれば、単純なコンテナ ホスティング(Docker などを使用)で十分です。しかし、ほとんどの組織のクラウド アーキテクチャでは、Kubernetes などによる、オーケストレーションに基づくアプローチが必要になります。組織は、クラウド プロバイダーが提供するマネージド Kubernetes サービスを利用するか、または Kubernetes の実装に自社で取り組むことを選択できます。
コンテナ管理が必要である理由
コンテナが関連するシステムをより効率的に稼働させるためには、コンテナを管理する必要があります。特に、単一の IT チームでは対応しきれないほど多数のコンテナを扱う場合、管理システムは必須です。統合された効果的なコンテナ管理を導入することで、IT 管理者が環境をより安全な状態に保ちやすくなるとともに、開発者は新しいアプリケーションやサービスの開発とデプロイにコンテナのメリットを活用して柔軟かつ容易に行えるようになります。
コンテナ管理のメリット
効果的なコンテナ管理を行うことで、以下のようなさまざまなメリットが得られます。
- 設定の簡素化:コンテナ管理にはストレージ、セキュリティ ツール、スケジューラ、監視システムなどが含まれるため、ホスティングの設定における複雑さが大幅に軽減されます。
- 管理のシンプル化:適切なコンテナ管理を導入することで、IT チームがコンテナ化された環境をより簡単に管理および維持できるようになるほか、DevOps プロセスに費やされる時間とリソースも削減できます。
- 自動化:コンテナ管理には、ロードバランシングやオーケストレーションなど、さまざまなプロセスの自動化も含まれます。
- 継続的な健全性チェック:Kubernetes などのコンテナ管理プラットフォームは、アプリケーションの健全性チェックを自動で行い、環境を監視してコンテナの障害や停止を検出します。
コンテナ管理における課題
コンテナ管理はさまざまなメリットをもたらしますが、同時にいくつかの課題もあります。
従来のコンテナ管理における主要な課題の一つがセキュリティです。コンテナは軽量なパッケージであることからハッキングの標的になりやすく、コンテナ管理とセキュリティは両立が難しくなる可能性があります。仮想マシンは本質的に、マシン間の高いセキュリティ レベルを備えていますが、コンテナ セキュリティでは、共有された 1 つのオペレーティング システム上で実行されるというコンテナの性質により、仮想マシンのような安全性は実現できません。また、API サーバや監視ツールなどとの依存関係があるため、コンテナは攻撃に対してより脆弱です。しかし最新の技術では、コンテナをほかの IT システム内に統合することで、コンテナ セキュリティの強化を図っています。
コンテナ管理に関するセキュリティ以外の課題としては、以下のようなものが挙げられます。
- 統合:コンテナ エコシステムのサポートに必要な接続性や API による連携を実現するために、既存のレガシー インフラストラクチャの更新が必要になる場合があります。
- 学習の困難さ:コンテナは比較的新しい技術であり、ホスト サーバ クラスタがコンテナ化されたアプリケーションに与える影響を理解するために、IT チームはコンテナ管理に関する十分なトレーニングを受ける必要があります。または、サービスとしてのコンテナ(CaaS)を提供するサービス プロバイダーと提携するというオプションもあります。
- ストレージ:コンテナは必要なときのみ稼働するように設計されているため、コンテナがシャットダウンされるとそのコンテナ内の情報はすべて失われます。コンテナベースの情報を保持するには、コンテナ ストレージ ツールを導入して利用する必要があります。
- トラブルシューティング:コンテナは、その時々の条件に応じて動的に異なるホストにデプロイされるため、デプロイ先がホスト間で切り替わることが多く、その場合トラブルシューティングのステップが増えることになります。そのため、各コンテナの割り当て先のホストを追跡するために、従来のサーバ監視に加え、新たにコンテナ監視のツールも必要になります。
コンテナ ストレージ ツール
コンテナ ストレージ ツールのほかにも、企業がコンテナ管理に活用できるツールにはさまざまなものがあります。
Kubernetes はもっとも広く利用されているコンテナ管理ソフトウェアですが、Kubernetes と連携してコンテナ管理の特定の分野を効率化するツールが多数提供されています。そうしたツールの例としては以下のようなものがあります。
- Mesos
- D2iQ:ハイブリッドクラウドにおける可搬性を実現する、Mesos ベースのコンテナ管理ソフトウェアを提供しています。
- Docker の Swarm モード:ロードバランシング機能と宣言型のサービス モデルを備えた、分散型のクラスタ管理ツールです。
コンテナ監視ツールを使用すると、各コンテナの割り当て先のホストを追跡できるとともに、コンテナのパフォーマンスやセキュリティなどに関する有用なメトリックも取得できます。サービス メッシュ テクノロジーなどのコンテナ ネットワーク ツールは、コンテナ クラスタ内のサービス間の情報のやり取りを容易にします。
コンテナ管理ツール
コンテナ ストレージ ツールのほかにも、企業がコンテナ管理に活用できるツールにはさまざまなものがあります。
Kubernetes はもっとも広く利用されているコンテナ管理ソフトウェアですが、Kubernetes と連携してコンテナ管理の特定の分野を効率化するツールが多数提供されています。そうしたツールの例としては以下のようなものがあります。
- Mesos
- D2iQ:ハイブリッドクラウドにおける可搬性を実現する、Mesos ベースのコンテナ管理ソフトウェアを提供しています。
- Docker の Swarm モード:ロードバランシング機能と宣言型のサービス モデルを備えた、分散型のクラスタ管理ツールです。
コンテナ監視ツールを使用すると、各コンテナの割り当て先のホストを追跡できるとともに、コンテナのパフォーマンスやセキュリティなどに関する有用なメトリックも取得できます。サービス メッシュ テクノロジーなどのコンテナ ネットワーク ツールは、コンテナ クラスタ内のサービス間の情報のやり取りを容易にします。
関連するソリューションおよび製品
vSphere
サーバ仮想化ソフトウェア
vSphere with Tanzu
既存の IT インフラストラクチャを使用して Kubernetes ワークロードを実行
VMware Cloud Foundation
ハイブリッドクラウド プラットフォーム