Kubernetesの各コンポーネントについて

インフラストラクチャ

Kubernetesの各コンポーネントについて

スクリーンショット 2024-03-27 22 40 42

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

コンテナを実行するためのソフトウェア。

参考


関連書籍