We couldn't find a match for given <KEYWORD>, please try again.

コンテナ管理とは

コンテナ管理とは、コンテナの作成、デプロイ、スケーリングを自動化するプロセスを意味します。コンテナ管理を行うことで、コンテナの追加、交換、整理を簡単かつ大規模に行うことができます。

2022 年 Kubernetes の現状

VMware vSphere 環境で高いパフォーマンスを維持しながら Kubernetes を運用できる 5 つの理由

コンテナとは

コンテナとは、1 つのアプリケーションとその依存関係をバンドルする軽量パッケージであり、コンテナを使用すると、複雑な IT 環境で、アプリケーションの開発、デプロイ、管理を簡単に行えるようになります。仮想マシンでは、複数のアプリケーションがパッケージ化され、各マシンで独自の OS が稼働しています。これとは対照的に、コンテナは 1 つの共有 OS 上で実行されます。これにより、迅速なロード、複数のクラウドやプラットフォームでの実行、異なる環境への容易な移動が可能になります。

コンテナ プラットフォームとは

コンテナ プラットフォームとは、コンテナ化されたアプリケーションを作成、管理、保護するソフトウェアを指します。コンテナ管理ソフトウェアを導入すると、ネットワーキングとコンテナ オーケストレーションを簡単かつ迅速に行えます。次のようなコンテナ化された多くのアプリケーション プロセスも処理できます。

  • ガバナンス
  • 自動化
  • レイヤード セキュリティ
  • 拡張性
  • エンタープライズ サポート

コンテナ ツールとは

もっとも広く使用されているコンテナ オーケストレーション プラットフォームに Kubernetes があります。このツールは、拡張可能なオープンソースのソリューションであり、コンテナ化されたアプリケーションの管理を可能にします。Kubernetes では、次のようなさまざまな管理ツールを利用できます。

  • サービス検出とロードバランシング
  • ロールアウトとロールバックの自動化
  • ストレージ オーケストレーション
  • 構成管理

Docker も広く普及しているコンテナ ソフトウェアであり、Kubernetes と組み合わせて利用できます。両者の相違点のひとつは、Docker が 1 つのノードで実行されるのに対し、Kubernetes はノードをクラスタ単位で大規模に管理することを想定している点です。

Docker コンテナのライフサイクル管理は、コンテナ ワークフローのフェーズ(実行中、一時停止、停止、廃止)に沿って行う必要があります。「実行中」の Docker コンテナでは、ライフサイクルの次の段階として次の 3 つの操作を選択できます。

  • 停止:休日など、業務を行わない特定の期間には、コンテナを停止すると良いでしょう。
  • 一時停止:ランダムアクセス メモリ(RAM)を一時的に特定のアプリケーションに割り当てたい場合に有用です。
  • 停止:サーバ要件の変更や、別のサーバへの完全移行といった過渡的な段階で必要となります。

Docker と Kubernetes は、どちらも、普及しているコンテナ管理であり、利用しやすいソリューションです。

コンテナ管理の戦略

コンテナ プラットフォームはコンテナ管理できわめて重要な役割を果たしますが、その選択は最初の一歩に過ぎません。全体的な管理システムに加え、管理ツールを追加するための戦略を選ぶことも重要です。その際には、クラウド アーキテクチャを考慮する必要があります。たとえば、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドのいずれを利用すべきか、それらを複数のクラウド プロバイダーから導入するか、どのプロバイダーを選ぶかなどを検討します。スタッフの技術的専門性や予算などの要因も考慮する必要があります。


1 か所のデータセンターに基本的なプライベート環境を構築する場合であれば、単純なコンテナ ホスティング(Docker など)だけで十分に目的を果たせますが、一般的には、Kubernetes による運用など、オーケストレーションが可能なアプローチが必要になります。その場合、クラウド プロバイダーのマネージド Kubernetes サービスを利用することも、自社で Kubernetes の実装に取り組むこともできます。

コンテナ管理が必要な理由とは

コンテナ システムの効率的な稼働には、コンテナ管理が必要です。特に、コンテナの数が非常に多く 1 つの IT チームでの対応が難しい場合には、管理システムが必要となります。効果的で統合的なコンテナ管理を行うことができると、IT 管理者は環境をよりセキュアな状態に維持することができ、開発者はコンテナの柔軟性と利便性を活用しながら新しいアプリケーションとサービスを開発、デプロイできます。

コンテナ管理のメリット

効果的なコンテナ管理は、次のような多くのメリットをもたらします。

  • 容易な設定:ストレージ ツール、セキュリティ ツール、スケジューラ、モニタリング システムなどを使用するため、ホスティング設定の複雑さを大幅に軽減できます。
  • シンプルな管理:コンテナを効果的に管理すると、コンテナ化された環境の管理と維持が容易になり、DevOps プロセスに必要な時間とリソースを削減できます。
  • 自動化:ロードバランシングからオーケストレーションまで、さまざまなプロセスを自動化できます。
  • 継続的な健全性チェック:Kubernetes のようなコンテナ管理プラットフォームがあれば、アプリケーションの健全性を自動的にチェックできます。環境のモニタリングによって、障害が生じたり停止したりしたコンテナを把握することも可能です。

コンテナ管理の課題

コンテナ管理はさまざまなメリットをもたらしますが、多くの課題も伴います。

従来のコンテナ管理で生じるもっとも重要な課題の 1 つはセキュリティの確保です。コンテナのパッケージが軽量になると、ハッキングへの脆弱性が高まるため、コンテナの管理とセキュリティ確保はトレードオフとなる可能性があります。仮想マシンの場合、本質的に仮想マシン間のセキュリティ レベルが高い状態になりますが、コンテナの場合は複数のコンテナが 1 つの共有オペレーティング システム上で稼働しているため、最初の状態ではセキュリティが強力であるとは言えません。しかも、API サーバやモニタリング ツールなどとの依存関係は、攻撃に対する脆弱性を高めることになります。しかし、コンテナのセキュリティ状態を強化すべく、ほかの IT システムにコンテナを統合する新しい技術が利用されるようになっています。

セキュリティ確保の他にも、コンテナ管理では、次のような課題が想定されます。

  • 統合:コンテナ エコシステムに対応可能な接続機能や API 統合を実現するには、既存のレガシー インフラストラクチャの更新が必要となる場合もあります。
  • 学習曲線:コンテナは比較的新しい技術です。ホスト サーバ クラスタがコンテナ化されたアプリケーションにどのような影響を与えるかを把握するには、コンテナ管理について総合的なトレーニングを受けなければなりません。サービス プロバイダーを利用してサービスとしてのコンテナ(CaaS)をデプロイするという選択肢も検討できます。
  • ストレージ:コンテナは必要な場合にのみ稼働するように設計されているため、シャットダウンすると、コンテナ内の情報はすべて失われます。コンテナベースの情報を保持するには、コンテナ ストレージ ツールを導入し、使用する必要があります。
  • トラブルシューティング:コンテナは、その時点の適合性に基づいて、異なるホストに動的にデプロイされるため、デプロイ先が頻繁に切り替わります。そのため、トラブルシューティングに新しい手順を追加する必要があります。つまり、コンテナがどのホストに割り当てられたかを追跡するために、従来のサーバ モニタリング システムにコンテナ モニタリング ツールを新たに追加する必要があります。

コンテナ ストレージ ツール

コンテナ ストレージ ツールの他にも、コンテナ管理に活用できるさまざまなツールがあります。

Kubernetes はもっとも広く使用されているコンテナ管理ソフトウェアですが、Kubernetes と連携させてコンテナ管理の特定の作業を効率化するツールも多数存在します。その例をいくつかご紹介します。

  • Mesos
  • D2iQ:Mesos ベースのコンテナ管理向けソフトウェアを利用でき、ハイブリッドクラウドでの可搬性も備えています。
  • Docker の swarm モード:分散型クラスタ管理ツールであり、ロードバランシングと宣言型サービス モデルを利用できます。


コンテナ モニタリング ツールを導入すると、どのコンテナがどのホストに割り当てられているかを、コンテナのパフォーマンスやセキュリティなどを示す有用なメトリックとともに追跡できます。サービス メッシュ技術などのコンテナ ネットワーク ツールを利用すると、コンテナ クラスタ内のサービス間の情報伝達を円滑にすることができます。

コンテナ管理ツール

コンテナ ストレージ ツールの他にも、コンテナ管理に活用できるさまざまなツールがあります。

Kubernetes はもっとも広く使用されているコンテナ管理ソフトウェアですが、Kubernetes と連携させてコンテナ管理の特定の作業を効率化するツールも多数存在します。その例をいくつかご紹介します。

  • Mesos
  • D2iQ:Mesos ベースのコンテナ管理向けソフトウェアを利用でき、ハイブリッドクラウドでの可搬性も備えています。
  • Docker の swarm モード:分散型クラスタ管理ツールであり、ロードバランシングと宣言型サービス モデルを利用できます。

コンテナ モニタリング ツールを導入すると、どのコンテナがどのホストに割り当てられているかを、コンテナのパフォーマンスやセキュリティなどを示す有用なメトリックとともに追跡できます。サービス メッシュ技術などのコンテナ ネットワーク ツールを利用すると、コンテナ クラスタ内のサービス間の情報伝達を円滑にすることができます。

関連するソリューションおよび製品

vSphere

サーバ仮想化ソフトウェア

vSphere with Tanzu

既存の IT インフラストラクチャを使用して Kubernetes ワークロードを実行できます。

VMware Cloud Foundation

ハイブリッドクラウド プラットフォーム