Profilanwendbarkeit: Stufe 1 - Masterknoten
Verwenden Sie individuelle Dienstkontenanmeldedaten für jeden Controller.
Der Controller-Manager erstellt ein Servicekonto pro Controller im
kube-system
-Namespace, generiert ein Anmeldeinformation dafür und baut einen dedizierten API-Client
mit dieser Servicekonto-Anmeldeinformation für jede Controller-Schleife auf. Das Setzen
von --use-service-account-credentials
auf true
führt dazu, dass jede Kontrollschleife innerhalb des Controller-Managers mit einer
separaten Servicekonto-Anmeldeinformation ausgeführt wird. In Kombination mit RBAC
verwendet, stellt dies sicher, dass die Kontrollschleifen mit den minimalen Berechtigungen
erforderlich ausgeführt werden, um ihre vorgesehenen Aufgaben zu erfüllen.![]() |
HinweisStandardmäßig ist
--use-service-account-credentials auf false eingestellt. |
Auswirkung
Unabhängig davon, welcher Autorisierer für das Cluster konfiguriert ist, muss er den
Dienstkonten ausreichende Berechtigungen gewähren, um ihre vorgesehenen Aufgaben auszuführen.
Bei Verwendung des RBAC-Autorisierers werden diese Rollen automatisch erstellt und
den entsprechenden Dienstkonten im
kube-system
-Namespace mit Standardrollen und Rollenbindungen zugewiesen, die beim Start automatisch
abgeglichen werden.Wenn andere Autorisierungsmethoden (ABAC, Webhook, etc.) verwendet werden, ist der
Cluster-Deploy-Verantwortliche dafür verantwortlich, den Dienstkonten die entsprechenden
Berechtigungen zu erteilen (die erforderlichen Berechtigungen können durch Überprüfung
der
controller-roles.yaml
- und controller-role-bindings.yaml
-Dateien für die RBAC-Rollen eingesehen werden).Prüfung
Führen Sie den folgenden Befehl auf dem Steuerungsebenenknoten aus:
ps -ef | grep kube-controller-manager
Überprüfen Sie, ob das Argument
--use-service-account-credentials
auf true
gesetzt ist.Wiederherstellung
Bearbeiten Sie die Controller-Manager-Pod-Spezifikationsdatei
/etc/kubernetes/manifests/kube-controller-manager.yaml
auf dem Steuerknoten, um den folgenden Parameter festzulegen.--use-service-account-credentials=true