
Kubectl | | K8sクラスタを操作するためのコマンドラインインターフェース |
Control Plane Node (Master) | kube-apiserver | ・Kubernetesコントロールプレーンのフロントエンド ・kubectlなどのAPIクライアントからのRESTリクエストを検証してAPIオブジェクトを構成、または、状態を報告する |
| kube-scheduler | ・Kubernetesで「スケジュール」と言うときは、ポッドの実行をノードへ割り当てることを意味する ・新しく作られたPodにノードが割り当てられているか監視し、割り当てられていなかった場合にそのPodを実行するノードを選択を実行する |
| kube-controller-manager | 複数のコントローラープロセスを実行 ・Node Controller:ノードがダウンした場合の通知と対応を担当 ・Replication Controller:システム内の全レプリケーションコントローラーオブジェクトについて、Podの数を正しく保つ役割を持つ ・End Point Controller:エンドポイントオブジェクトを注入します(つまり、ServiceとPodを紐付けます)。 ・Service Account & Token Controller:新規の名前空間に対して、デフォルトアカウントとAPIアクセストークンを作成します。4 |
| cloud-controller-manager | ・クラウドプロバイダー固有のコントローラーのみを実行 ・APIを通じてクラウドサービスと連携するコントローラであり、クラウド提供事業者によって実装される |
| etcd | ・K8sクラスタの管理データはetcdに保存される ・key-value型のデータベース |
(Worker) Node | kubelet | ・ポッドとコンテナの実行 ・ポッドとノードの状態をAPIサーバへ報告 |
| kub-proxy | ・Nodeのネットワークルールをメンテナンス。 ・ネットワークルールにより、クラスターの内部または外部のネットワークセッションからPodへのネットワーク通信が可能になる |
| Container Runtime | Docker、containerd、CRI-O、 および全ての Kubernetes CRI (Container Runtime Interface) |