Ansichten:
Profilanwendbarkeit: Stufe 1 - Masterknoten
Verwenden Sie individuelle Dienstkontoberechtigungen 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 jede Kontrollschleife innerhalb des Controller-Managers mit einer separaten Servicekonto-Anmeldeinformation aus. In Kombination mit RBAC stellt dies sicher, dass die Kontrollschleifen mit den minimalen Berechtigungen erforderlich ausgeführt werden, um ihre vorgesehenen Aufgaben zu erfüllen.
Hinweis
Hinweis
Standardmäßig ist --use-service-account-credentials auf false eingestellt.

Auswirkung

Unabhängig davon, welcher Autorisierer für den 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 erstellt und automatisch mit Standardrollen und Rollenbindungen, die beim Start automatisch abgeglichen werden, an die entsprechenden Dienstkonten im kube-system-Namespace gebunden.
Wenn andere Autorisierungsmethoden (ABAC, Webhook usw.) verwendet werden, ist der Cluster-Deploy-Verantwortliche dafür zuständig, 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 Control Plane-Knoten 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 Steuerungsebenenknoten, um den folgenden Parameter festzulegen.
--use-service-account-credentials=true