Kubernetes

コンテナオーケストレーションプラットフォーム

Kubernetes(K8s)はコンテナ化されたアプリケーションのデプロイ、スケーリング、 管理を自動化するオープンソースプラットフォームです。 宣言的な設定とセルフヒーリングにより、大規模な本番環境の運用を実現します。

アーキテクチャ

Control Plane

kube-apiserver
etcd
kube-scheduler
kube-controller-manager

Node

kubelet
kube-proxy
Container Runtime

Control Plane コンポーネント

kube-apiserver

K8s APIを提供。すべての操作の入り口。認証・認可を処理

etcd

分散KVS。クラスタの全状態を保存。一貫性と高可用性

kube-scheduler

Podをどのノードに配置するか決定。リソース、制約、親和性を考慮

kube-controller-manager

各種コントローラを実行。ReplicaSet、Deployment、Nodeの管理

Node コンポーネント

kubelet

各ノードで動作するエージェント。Podの起動・監視を担当

kube-proxy

ネットワークプロキシ。Serviceの仮想IPとロードバランシング

Container Runtime

コンテナ実行環境。containerd、CRI-O など(Docker非推奨)

基本コマンド(kubectl)

kubectl get pods

Pod一覧

kubectl apply -f manifest.yaml

マニフェスト適用

kubectl describe pod NAME

詳細情報

kubectl logs POD

ログ確認

Docker vs Kubernetes

Docker (Compose)

  • • 単一ホスト
  • • 開発・テスト向け
  • • シンプルな設定
  • • 手動スケーリング

Kubernetes

  • • マルチホストクラスタ
  • • 本番向け
  • • 宣言的設定
  • • 自動スケーリング・自己修復

機能別トピック