kube-controller-manager ist die Komponente der Kubernetes-Control-Plane, die den gewünschten Zustand des Clusters im Auge behält. Hinter dem sperrigen Namen steckt ein einfaches Prinzip: ein Bündel von Regelkreisen, die ständig Ist-Zustand und Soll-Zustand abgleichen und Abweichungen korrigieren.
Das Prinzip: Controller als Regelkreise
Ein Controller ist eine Endlosschleife, die den Cluster-Zustand über den kube-apiserver beobachtet. Weicht die Wirklichkeit vom gewünschten Zustand ab, greift der zuständige Controller ein und bringt das System zurück auf den Soll-Zustand.
Die wichtigsten Controller
- Der Node Controller erkennt ausgefallene Knoten und markiert sie als NotReady.
- Der ReplicaSet- und Deployment-Controller hält die gewünschte Anzahl von Pod-Repliken in Deployments.
- Der EndpointSlice-Controller pflegt die Ziel-IPs hinter Services.
- Der Namespace-Controller, der Job Controller und der Garbage Collector übernehmen weitere Verwaltungs- und Aufräumaufgaben.
Hochverfügbarkeit
In größeren Clustern laufen mehrere Instanzen des kube-controller-manager. Über eine Leader Election entscheidet ein Lease-Objekt in etcd, welche Instanz aktiv arbeitet; die übrigen warten als Standby.
Verwandte Grundlagen: Kubernetes, kube-scheduler, kubelet, Ingress.