Kubernetes Control Plane Controller Manager and Controllers

The control manager in Kubernetes is a control plane component that runs various controller processes, such as the node controller, replication controller, and endpoints controller, to regulate the state of the cluster, reconcile any differences, and perform routine tasks.

The Kubernetes Controller Manager is a daemon that runs the core control loops, or controllers, included in the Kubernetes system. It’s a key part of the Kubernetes control plane.

These controllers include the Node Controller, Replication Controller, Endpoints Controller, and others. They each continuously compare the actual state of the cluster with the desired state expressed by users and make changes as necessary to converge the two.

The Kubernetes Controller Manager packages these individual controllers into a single binary and runs them in a single process to simplify management of the control plane. However, they could technically be run separately. In larger or more complex deployments, it’s even possible to run multiple controller managers for better scalability and performance.

The Controller Manager communicates with other components of the Kubernetes control plane, particularly the API server, to stay informed about the state of the cluster and make changes as necessary. It’s one of the main reasons Kubernetes can offer such strong automation and self-healing capabilities.

Last modified July 21, 2024: update (e2ae86c)