Skip to content

Kubernetes Control Plane

The Kubernetes Control Plane acts as the central nervous system of a Kubernetes cluster, managing the cluster's state and configuration.^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md] It is responsible for maintaining the desired configuration of the system and ensuring that containers operate with the necessary resources.^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md]

This control plane typically resides on a dedicated Master Node, which communicates with worker nodes to assign tasks and manage the distribution of applications.^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md]

Core Components

The control plane consists of several key components that work together to manage the cluster:

kube-apiserver

The kube-apiserver serves as the frontend of the control plane.^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md] It is responsible for exposing the Kubernetes API and handling internal and external requests.^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md] Users interact with this component via command-line tools like kubectl or REST calls.^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md]

kube-scheduler

The kube-scheduler acts as a container scheduler.^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md] Its primary role is to assign newly created Pods to the most suitable Worker Nodes.^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md] To make these decisions, it monitors all nodes and applies user-defined filtering and scoring policies.^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md]

kube-controller-manager

The kube-controller-manager runs the controller processes, which regulate the state of the cluster.^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md] It consolidates multiple controller functions into a single binary.^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md] These controllers monitor the system—for instance, ensuring the correct number of Pods are running—and respond to changes, such as restarting failed Pods or connecting services to the correct endpoints.^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md]

etcd

etcd is a consistent and highly-available key-value store used as the cluster's backing database.^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md] It persistently stores all cluster data, including state and configuration settings, which is vital for recovering the cluster to its current state after a crash.^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md]

  • [[Worker Node]]
  • Pod
  • [[Kubernetes Cluster]]
  • kubelet

Sources

^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md]