Kubernetesの各コンポーネントについて
Control Plane Components
kube-apiserver
クラスタを操作するためのKubernetes APIを提供するサーバー。水平スケールが可能な形に設計されている。
etcd
全てのクラスタの状態管理を行うための高可用性のキーバリューストア。
kube-scheduler
ノードが未割り当ての新しく生成されたPodをどのノードにスケジューリングするかを決定する。
kube-controller-manager
クラスタの状態を制御するためのプロセスで、複数の種類が存在する。
- Node controller
- Job controller
- Job(1回限りのタスク)の監視と作成し、タスクを完了するためにPodを実行する
- EndpointSlice controller
- EndpointSlice(ネットワークエンドポイントの集合へのリファレンス)を作成する
- Service Account controller
- 新しいNamespaceにServiceAccountを作成する
cloud-controller-manager
クラウドプロバイダー固有の制御ロジックを持つコントローラー。クラウドプロバイダーが提供するサービスをKubernetesに統合するために使用される。
Node Components
kubelet
各ノードで実行されるエージェント。kube-apiserverと通信し、Podの実行を管理する。
kube-proxy
クラスターにおけるネットワークプロキシ。クラスター内部や外部との通信を制御する。
Container Runtime
コンテナを実行するためのソフトウェア。
参考