【こんてなおーけすとれーしょん】

コンテナオーケストレーション とは?

最終更新:
💡 大量のコンテナを「指揮者」のように統率する

複数のサーバーにまたがるコンテナの配置、スケーリング、ネットワーク、障害からの回復を自動で管理する仕組み。Kubernetesが代表的。

📌 このページのポイント
コンテナオーケストレーション オーケストレーター (例: Kubernetesのコントロールプレーン) 配置 監視 スケール Node 1 Web コンテナ API コンテナ DB コンテナ Node 2 Web コンテナ API コンテナ Node 3 Web コンテナ Cache コンテナ Worker コンテナ 複数ノードのコンテナを自動で配置・監視・スケールする
コンテナオーケストレーションのイメージ
ひよこ ひよこ
docker-composeとどう違うの?
ペンギン先生 ペンギン先生
Docker Composeは、複数のコンテナからなるアプリを1つのYAMLファイルで定義して動かすためのツールだよ。コンテナオーケストレーションは、たくさんのサーバー(ノード)にまたがってコンテナを配置・管理する仕組み。スケーリング、障害からの回復、ローリングアップデート、サービスディスカバリなどを自動化してくれるんだよ
ひよこ ひよこ
Kubernetes以外の選択肢は?
ペンギン先生 ペンギン先生
Docker Engineに組み込まれたSwarmモード、AWSのAmazon ECS、HashiCorpのNomadなどがあるよ。Kubernetesを使う場合も、クラウド各社のマネージドサービス(Amazon EKS、Google Kubernetes Engine、Azure Kubernetes Service)を選べば、自分で管理する部分を減らせるんだ
ひよこ ひよこ
小規模でも必要?
ペンギン先生 ペンギン先生
コンテナが少なくてサーバー1台で足りるうちは、Docker Composeやクラウドのコンテナ実行サービス(Cloud Runなど)で十分なことも多いよ。Kubernetesは覚えることも運用の手間も多いから、手作業での管理がつらくなってから検討しても遅くないんだ。「何個からは必要」というはっきりした基準はないから、チームの人数や運用にかけられる時間で決めるといいね
ひよこ ひよこ
セルフヒーリングって何?
ペンギン先生 ペンギン先生
Kubernetesでは「Podを3つ動かす」と宣言しておくと、1つ落ちたときにコントローラーが新しいPodを作って3つに戻してくれる。落ちたコンテナの再起動や、壊れたPodを通信の宛先から外すことも自動だよ。ただし戻るのは「動いている数」であって、アプリのバグや設定の誤りまでは直らない。Kubernetesの公式ドキュメントも、セルフヒーリングは可用性を保つためのもので、アプリの正しさを保証するものではないと説明しているんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「コンテナオーケストレーション」って出てきたら「大量のコンテナを自動管理する仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Container Orchestration」 = コンテナの指揮・統率
💬 Orchestration(オーケストラの指揮)。多数のコンテナを調和させて動かすイメージだよ

参考資料

← 用語集にもどる