Skip to main content

kube-controller-manager

Controllers are like an office that have their own set of responsibilities.

A controller is a process that continually monitors the state of various components.

Notable Controllers​

Node Controller​

Takes care of onboarding new nodes to the cluster, handling situations where nodes become unavailable or destroyed.

Watches state of the nodes, interacts through kube-apiserver. Polls every 5 seconds. If a node stops receiving heartbeats, its considered unreachable (40 seconds total) Then POD Eviction Timeout of 5 minutes.

Replication Controller:​

Desired number of pods are set. If a pod dies, it creates a new one

Replication Controller allows us to run multiple instances of our application to ensure high availability. Replication controller will also bring up a new controller when an existing pod fails. Ensures the requested number of pods exist at all times. Helps create multiple pods to share the load.

Replica Set: The new recommended way to setup replication. Replication Controller: The older technology being replaced by the new replica set.

Namespace Controller​

Endpoint Controller​

PV-Protection Controller​

Service-Account Controller​

Job Controller​

All packages into a single process “Kube-controller-manager”

Upstream Docs​

Notable CLI Options​

OptionPurposeDefault
node-monitor-periodHow often to sync node status5s
node-monitor-grace-periodHow long before a ndoe is marked unhealthy?40s
controllersWhich controllers to enable?* (all)