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 podsPod一覧
kubectl apply -f manifest.yamlマニフェスト適用
kubectl describe pod NAME詳細情報
kubectl logs PODログ確認
Docker vs Kubernetes
Docker (Compose)
- • 単一ホスト
- • 開発・テスト向け
- • シンプルな設定
- • 手動スケーリング
Kubernetes
- • マルチホストクラスタ
- • 本番向け
- • 宣言的設定
- • 自動スケーリング・自己修復