The Manufactory of Kubernetes: The kube-controller-manager

The kube-controller-manager

In this course, we won’t make any customizations of the kube-controller-manager. So, this lesson will only give us a basic understanding of what the kube-controller-manager does. At the same time, we could benefit a lot from the design of the kube-controller-manager. This is where the operator pattern originates from.

What does the kube-controller-manager do?

As we discussed previously, the control plane is responsible for driving the actual state of the system toward the desired state. However, the kube-apiserver focuses on storing resources and providing RESTful services for all clients. The kube-scheduler assigns unassigned pods with the best-matched nodes. In the control plane, we need a component that can do the convergences. This is done by the kube-controller-manager.

The kube-controller-manager performs cluster-level functions. Primarily, it manages a group of controllers that’s responsible for reconciling the state of objects—such as Deployment and Service—and performing routine tasks. For instance, a replication controller ensures that the desired number of Pod objects are running healthily in the cluster by scaling up or down when the desired number isn’t met.

Get hands-on with 1200+ tech skills courses.