sajad torkamani

What is the control plane?

The control plane is the set of components that together manage the overall state and behaviour of a Kubernetes cluster.

Kubernetes control plane

It’s responsible for:

  • Scheduling which applications should run on which nodes (depending on the application computing requirements and node availability).
  • Maintaining the desired application states (e.g., number of replicas).
  • Rolling out new updates.

Control plane components

  • 1. kube-apiserver (also a container): Exposes a REST API that allows API clients (e.g., the kubelet process on other worker nodes or the K8s dashboard) to interact with the control plane & manage the cluster.
  • 2. kube-controller-manager: Keeps tabs on the cluster and status of nodes.
  • 3. kube-scheduler: Responsible for scheduling pods on different worker nodes within the cluster depending on the availability and workload requirements of each pod.
  • 4. etcd: A distributed key-value store. It stores the state of the K8s cluster which is used by the API server & other components to read from & update the state.
  • 5. cloud-controller-manager: Embeds cloud-specific control logic (the cloud being something like AWS, Google Cloud, Azure, etc).
Tagged: Kubernetes