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

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

💡 大量のコンテナを「指揮者」のように統率する
📌 このページのポイント
コンテナオーケストレーション オーケストレーター (Kubernetes マスター) 配置 監視 スケール Node 1 Web コンテナ API コンテナ DB コンテナ Node 2 Web コンテナ API コンテナ Node 3 Web コンテナ Cache コンテナ Worker コンテナ 複数ノードのコンテナを自動で配置・監視・スケールする
コンテナオーケストレーションのイメージ
ひよこ ひよこ

docker-composeとどう違うの?

ペンギン先生 ペンギン先生

docker-composeは1台のマシンで複数コンテナを管理する開発向けツール。コンテナオーケストレーションは複数台のサーバーにまたがって数百〜数千のコンテナを管理する本番運用向け。スケーリング、障害復旧、ローリングアップデートサービスディスカバリなど本番に必要な機能が揃っているんだよ

ひよこ ひよこ

Kubernetes以外の選択肢は?

ペンギン先生 ペンギン先生

Docker Swarm(Docker純正、シンプルだが機能限定的)、Amazon ECSAWSマネージド)、Nomad(HashiCorp製、コンテナ以外も管理可能)がある。ただし現実的にはKubernetes一強。EKS(AWS)、GKE(GCP)、AKS(Azure)のマネージドKubernetesを使えば運用負荷を軽減できるよ

ひよこ ひよこ

小規模でも必要?

ペンギン先生 ペンギン先生

コンテナが10個以下ならdocker-composeやECSで十分。Kubernetesの学習コストと運用負荷は高いから、コンテナ数が増えて手動管理が限界になってから検討しよう。最近はFly.io、Railway、Cloud Runのようなコンテナ実行サービスが台頭していて、Kubernetesなしで本番運用できる選択肢も増えているよ

ひよこ ひよこ

おもしろい!セルフヒーリングって何?

ペンギン先生 ペンギン先生

Kubernetesは「3つのレプリカを維持する」と宣言すると、1つのPodが落ちたら自動で新しいPodを起動して3つに戻す。ノード(サーバー)が故障しても、別のノードでPodを再スケジュールする。人間が障害に気づいて対処する前に、システムが自動で回復するんだ。これが宣言的管理の真価だよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「コンテナオーケストレーション」って出てきたら「大量のコンテナを自動管理する仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Container Orchestration」 = コンテナの指揮・統率
💬 Orchestration(オーケストラの指揮)。多数のコンテナを調和させて動かすイメージだよ
← 用語集にもどる