Controller
Unter Controllern versteht man im Kubernetes Universum Kontrollschleifen
In Kubernetes sind Controller Kontrollschleifen, die den Zustand Ihres Clusters überwachen und bei Bedarf Änderungen vornehmen oder anfordern. Jeder Controller versucht, den aktuellen Zustand des Clusters dem gewünschten Zustand näher zu bringen.
Die Controller überwachen den gemeinsamen Zustand Ihres Clusters über den API-Server (Teil der Control Plane). Einige Controller laufen auch innerhalb der Control Plane und stellen Kontrollschleifen bereit, die für den Betrieb von Kubernetes unerlässlich sind. Zum Beispiel laufen der Deployment-Controller, der DaemonSet-Controller, der Namespace-Controller und der PersistentVolume-Controller (und andere) alle innerhalb des kube-controller-managers.
Die Hauptaufgabe eines Controllers besteht darin, sicherzustellen, dass die im Cluster ausgeführten Workloads und Ressourcen gemäß den deklarativen Konfigurationen definiert und verwaltet werden. Sie überwachen kontinuierlich den Zustand des Clusters und greifen ein, um sicherzustellen, dass die tatsächlichen Zustände mit den gewünschten übereinstimmen.
Wenn der tatsächliche Zustand von dem gewünschten Zustand abweicht, initiiert der Controller die erforderlichen Aktionen, um den Zustand des Clusters anzupassen. Dies kann die Erstellung, Skalierung oder Löschung von Ressourcen wie Pods, ReplicaSets, Deployments usw. umfassen.
Die Verwendung von Controllern ermöglicht eine automatisierte und robuste Verwaltung des Kubernetes-Clusters. Sie stellen sicher, dass der Cluster konsistent und zuverlässig funktioniert, indem sie kontinuierlich den Zustand überwachen und bei Bedarf Anpassungen vornehmen, um sicherzustellen, dass die Anwendungen und Ressourcen gemäß den spezifizierten Anforderungen ausgeführt werden.
Link zum offiziellen Glossar