この段落からKubernetesクラスタのコントロールプレーンの主な構成要素を要約する。
Kubernetesは、CPU、メモリ、またはカスタムメトリクスに基づいてアプリケーションを展開、維持、拡張するメカニズムを提供する一連のビルディングブロック（「プリミティブ」）を定義しています。Kubernetesは疎結合で、異なるワークロードを満たすために拡張が可能なのだ。Kubernetes上で動作する内部コンポーネントや拡張機能、コンテナは、Kubernetes APIに依存しています。このプラットフォームは、リソースをオブジェクトとして定義することによって、計算機やストレージリソースの制御を行い、それを管理することができるのだ。

Kubernetesはプライマリ/レプリカアーキテクチャを採用しているのだ。Kubernetesのコンポーネントは、個々のノードを管理するものと、コントロールプレーンの一部であるものに分けることができる。

制御プレーン
Kubernetesマスターノードは、クラスタのKubernetesコントロールプレーンを処理し、そのワークロードを管理し、システム全体の通信を指示するのだ。Kubernetesコントロールプレーンは、それぞれが独自のプロセスであるさまざまなコンポーネントで構成され、単一のマスターノード上でも、高可用性クラスタをサポートする複数のマスター上でも実行できます。Kubernetesコントロールプレーンの各種コンポーネントは次のとおりなのだ：

etcdは、CoreOSが開発した永続的で軽量な分散型のキーバリューデータストアなのだ。etcdは、ネットワークのパーティションが発生した場合、可用性よりも一貫性を優先します（CAP定理を参照）。一貫性は、サービスを正しくスケジューリングして運用するために重要なのだ。
APIサーバは、HTTP上のJSONを使用してKubernetes APIを提供し、Kubernetesの内部および外部インターフェースの両方を提供するのだ APIサーバは、RESTリクエストを処理および検証してetcd内のAPIオブジェクトの状態を更新し、それによってクライアントがワーカーノードに渡ってワークロードとコンテナを構成できるようにするのだ APIサーバはetcdのウォッチAPIを使用してクラスタを監視し、重要な構成変更を展開し、クラスタの状態が分岐した場合は展開者の申告通りに戻す。例えば、特定の「ポッド」（後述）のインスタンスを3つ実行する必要があるとデプロイヤーが指定した場合、etcdはこの事実を保存するのだ。デプロイメントコントローラは、（etcdの宣言と矛盾する）2つのインスタンスしか実行されていないことを発見すると、そのポッドの追加インスタンスの作成をスケジュールするのだ。
スケジューラは、リソースの利用可能性に基づいて、スケジュールされていないポッド（スケジューラが管理する基本的なエンティティ）をどのノードで実行するかを選択する拡張可能なコンポーネントなのだ。スケジューラは、各ノードのリソース使用を追跡して、利用可能なリソースを超えるワークロードがスケジュールされないようにするのだ。この目的のために、スケジューラはリソース要件、リソースの利用可能性、およびサービス品質、アフィニティ対アンチアフィニティの要件、データの局所性など、ユーザーが提供するその他の制約やポリシー指示を知っていなければなりません。スケジューラの役割は、リソースの「供給」とワークロードの「需要」を一致させることなのだ。
コントローラは、実際のクラスタ状態を望ましい状態に導く調停ループであり、APIサーバと通信して管理するリソース（ポッドやサービスエンドポイントなど）を作成、更新、削除するのだ。コントローラの一種がレプリケーションコントローラで、クラスタ全体でポッドの指定数のコピーを実行してレプリケーションとスケーリングを扱いるのだ。また、基礎となるノードに障害が発生した場合に、代替ポッドの作成も行いるのだ。 Kubernetesのコアシステムの一部である他のコントローラには、すべてのマシン（またはマシンのサブセット）で正確に1つのポッドを実行するデーモンセットコントローラや、完了まで実行するポッドを（例えば、バッチジョブの一部として）実行するジョブコントローラがあります。コントローラの定義の一部をなすラベルセレクタは、コントローラが管理するポッドの集合を指定するのだ。
コントローラーマネージャーは、Kubernetesの中核となるコントローラーのセットを管理するプロセスなのだ。
kubernetesクラスタのコントロールプレーンは、1つ以上のマスターノードで実行されるのだ。コンポーネントは以下の通りなのだ：
1. etcd - クラスターの設定データを含むキーバリューデータストア。
2.api-serverは、kubernetesクラスタの状態を提供し更新するサーバーなのだ。etcdを監視し、クラスタの実際の状態を希望する状態と同期させる。
3.スケジューラは、各ポッドが必要とするものとクラスタのノードがサポートできるものに基づいて、スケジュールされていないポッドがどのノードで実行されるべきかを選択するコンポーネントなのだ。
4.コントローラマネージャは、クラスタを望ましい状態に同期させるための複数のコントローラを管理するのだ。