Kubernetes Architecture

投稿者: | 9月 2, 2022
K8s

KubectlK8sクラスタを操作するためのコマンドラインインターフェース
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アクセストークンを作成します。
cloud-controller-manager・クラウドプロバイダー固有のコントローラーのみを実行
・APIを通じてクラウドサービスと連携するコントローラであり、クラウド提供事業者によって実装される
etcd
(Worker) Nodekubelet・ポッドとコンテナの実行
・ポッドとノードの状態をAPIサーバへ報告
kub-proxy・Nodeのネットワークルールをメンテナンス。
・ネットワークルールにより、クラスターの内部または外部のネットワークセッションからPodへのネットワーク通信が可能になる
Container RuntimeDocker、containerd、CRI-O、 および全ての Kubernetes CRI (Container Runtime Interface)