【くーばねてぃす】

Kubernetes とは?

最終更新:
💡 コンテナの「指揮者」—大量のコンテナを統括管理

コンテナで動くアプリケーションの配置、スケーリング、更新、障害時の置き換えなどを自動化するオープンソースのプラットフォーム。略称K8s。

📌 このページのポイント
Kubernetes クラスター構造 Cluster Control Plane API Server Scheduler etcd Controller Manager 管理 Worker Node 1 Pod Con Con Pod Container Worker Node 2 Pod Container Pod Container 構造の階層 Cluster Node(サーバー) Pod(実行単位) Container コントロールプレーンがWorker Nodeを管理し、Pod内でコンテナが動作する
Kubernetesはコンテナの運用を自動化するオーケストレーションツール
ひよこ ひよこ
なんでKubernetesが必要なの?
ペンギン先生 ペンギン先生
コンテナを何台ものサーバーで動かすと、どのサーバーに置くか、落ちたコンテナをどう置き換えるか、負荷に合わせてどう増やすか、どう順番に更新するかを考える必要が出てくるよね。Kubernetesは、こうした作業を「あるべき状態」の宣言にもとづいて自動化してくれるんだ。
ひよこ ひよこ
基本の概念は?
ペンギン先生 ペンギン先生
①Pod(1つ以上のコンテナのまとまりで、デプロイできる最小単位)、②Service(Podで動くアプリをネットワークに公開する仕組み)、③Deployment(Podの数や更新を管理)、④Namespace(1つのクラスター内でリソースのグループを分ける仕組み)が基本だよ。YAMLのマニフェストで宣言的に定義するんだ。
ひよこ ひよこ
クラスターの中はどうなってるの?
ペンギン先生 ペンギン先生
全体を管理する「コントロールプレーン」と、実際にPodが動く「ワーカーノード」に分かれているよ。コントロールプレーンにはAPIサーバー、etcd(クラスターのデータを保存するストア)、スケジューラーなどがあって、スケジューラーがPodを置くノードを選ぶんだ。
ひよこ ひよこ
小規模でも使うべき?
ペンギン先生 ペンギン先生
必要な機能と運用の手間を比べて決めよう。Kubernetes自体はアプリのビルドやデータベースを用意してくれるわけではなく、監視やログの仕組みも自分たちで選んで組み合わせる必要があるんだ。コンテナが少なければ、よりシンプルな実行サービスで足りることもあるよ。
ひよこ ひよこ
K8sの学習方法は?
ペンギン先生 ペンギン先生
公式ドキュメントでは、手元のパソコンでKubernetesを動かせるkindやminikubeが紹介されているよ。ローカルにクラスターを作って、「kubectl apply -f deployment.yaml」でマニフェストを適用し、Podがどう作られ置き換わるかを観察してみると理解しやすいね。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Kubernetes」って出てきたら「たくさんのコンテナの配置や更新を自動で管理する基盤」と思えればだいたいOK!
📖 おまけ:英語の意味
「Kubernetes(K8s)」 = 操舵手・水先案内人
💬 ギリシャ語で「操舵手」「水先案内人」という意味だよ。K8sは、KとSの間に8文字あることから来た略称なんだ

参考資料

← 用語集にもどる