3.6 Kubernetes Controller Manager Control Function
The Kubernetes Controller Manager ensures cluster stability by managing controllers that enforce desired state across workloads and infrastructure components.
Kubernetes Controller Manager Control Function is the specific role the controller manager plays within the control plane's overall governance of the cluster, describing it as the aggregate reconciliation function that continuously drives every built-in resource type's actual state toward its declared desired state, distinguishing this ongoing corrective role from the one-time placement decision made by the scheduler.
Reconciliation as the Defining Function
Continuous, Not One-Shot
Unlike the scheduler, whose control function is exercised once per Pod at the moment of binding, the controller manager's control function is continuous: each of its bundled controllers keeps watching and acting on its resource type indefinitely, for as long as the cluster exists.
Correcting Deviation Wherever It Arises
The core of this control function is deviation correction: whenever a controller observes that an object's actual state does not match its declared desired state, whether because a Pod crashed or because a user changed a Deployment's replica count, it takes whatever action is needed to close that gap.
A Function Composed of Many Narrower Functions
Each Bundled Controller Owns a Slice
The controller manager's overall control function is not monolithic; it is the sum of many individually scoped controllers, each responsible for reconciling a specific resource type, such as ensuring node status objects reflect actual node health, or ensuring the number of running Pods matches a ReplicaSet's declared count.
Independence Within a Shared Process
Despite running within the same process for operational convenience, each bundled controller's reconciliation function operates independently of the others, meaning a failure or delay in one controller's logic does not directly block the reconciliation being performed by another.
Relationship to the Scheduler's Control Function
Complementary, Not Overlapping
The controller manager's function and the scheduler's function are architected to be complementary rather than overlapping: the scheduler decides where a Pod should run, while the controllers within the controller manager decide whether a Pod should exist at all, and what to do if it disappears unexpectedly.
Neither Substitutes for the Other
A cluster missing scheduler functionality would have controllers correctly identifying that Pods need to be created but no mechanism to place them on nodes, while a cluster missing controller manager functionality would have no mechanism to notice and correct deviations even if the scheduler continued placing individually created Pods.
Boundaries of This Control Function
No Direct API Enforcement Role
The controller manager's control function does not include enforcing authentication, authorization, or admission policy; those functions belong entirely to the API server, with the controller manager only ever acting on objects that have already passed through those checks.