Fehlerbehebung bei Dienstkonten in GKE


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

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

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.