Auf dieser Seite erfahren Sie, wie Sie Probleme mit Dienstkonten in der Google Kubernetes Engine (GKE) beheben.
Standarddienstkonto für Ihr Google Cloud-Projekt wiederherstellen
Die Verknüpfung des GKE-Standarddienstkontos container-engine-robot
mit einem Projekt kann versehentlich aufgehoben werden. Die Rolle Kubernetes Engine-Dienst-Agent (roles/container.serviceAgent
) ist eine IAM-Rolle (Identity and Access Management), mit der dem Dienstkonto Berechtigungen zum Verwalten von Clusterressourcen erteilt werden. Wenn Sie diese Rollenbindung aus dem Dienstkonto entfernen, wird die Verknüpfung des Standarddienstkontos mit dem Projekt aufgehoben. Dies kann verhindern, dass Anwendungen bereitgestellt und andere Clustervorgänge ausgeführt werden.
Mit der Google Cloud Console oder der Google Cloud CLI können Sie prüfen, ob das Dienstkonto aus Ihrem Projekt entfernt wurde.
Console
Wechseln Sie in der Google Cloud Console zur Seite IAM & Verwaltung:
gcloud
Führen Sie diesen Befehl aus:
gcloud projects get-iam-policy PROJECT_ID
Ersetzen Sie
PROJECT_ID
durch Ihre Projekt-ID.
Wenn im Dashboard oder im Befehl unter Ihren Dienstkonten container-engine-robot
nicht angezeigt wird, wurde die Verknüpfung mit dem Dienstkonto aufgehoben.
Führen Sie die folgenden Befehle aus, um die Bindung der Rolle „Kubernetes Engine-Dienst-Agent“ (roles/container.serviceAgent
) wiederherzustellen:
PROJECT_NUMBER=$(gcloud projects describe "PROJECT_ID" \
--format 'get(projectNumber)') \
gcloud projects add-iam-policy-binding PROJECT_ID \
--member "serviceAccount:service-${PROJECT_NUMBER?}@container-engine-robot.iam.gserviceaccount.com" \
--role roles/container.serviceAgent
Prüfen Sie, ob die Rollenbindung wiederhergestellt wurde:
gcloud projects get-iam-policy $PROJECT_ID
Wenn der Name des Dienstkontos zusammen mit der Rolle container.serviceAgent
angezeigt wird, wurde die Rollenbindung wiederhergestellt. Beispiel:
- members:
- serviceAccount:service-1234567890@container-engine-robot.iam.gserviceaccount.com
role: roles/container.serviceAgent
Compute Engine-Standarddienstkonto aktivieren
Das für den Knotenpool verwendete Dienstkonto ist in der Regel das Compute Engine-Standarddienstkonto. Wenn dieses Standarddienstkonto deaktiviert ist, können Ihre Knoten möglicherweise nicht beim Cluster registriert werden.
Mit der Google Cloud Console oder der gcloud CLI können Sie prüfen, ob das Dienstkonto in Ihrem Projekt deaktiviert ist.
Console
Wechseln Sie in der Google Cloud Console zur Seite IAM & Verwaltung:
gcloud
- Führen Sie dazu diesen Befehl aus:
gcloud iam service-accounts list --filter="NAME~'compute' AND disabled=true"
Wenn das Dienstkonto deaktiviert ist, führen Sie den folgenden Befehl aus, um es zu aktivieren:
gcloud iam service-accounts enable PROJECT_ID-compute@developer.gserviceaccount.com
Ersetzen Sie PROJECT_ID
durch Ihre Projekt-ID.
Weitere Informationen finden Sie unter Fehlerbehebung bei der Knotenregistrierung.
Fehler 400/403: Dem Konto fehlen Bearbeitungsberechtigungen
Wenn Ihr Dienstkonto gelöscht wird, wird möglicherweise der Fehler „Fehlende Bearbeitungsberechtigungen“ angezeigt. Informationen zum Beheben dieses Fehlers finden Sie unter Fehler 400/403: Dem Konto fehlen Bearbeitungsberechtigungen.
Nächste Schritte
Wenn Sie weitere Unterstützung benötigen, wenden Sie sich an den Cloud Customer Care.