Blog

Konfigurieren Sie den unpersönlichen GKE-Cluster-Zugriff für kubectl

Laurens Knoll

Aktualisiert Oktober 20, 2025
2 Minuten

Normalerweise verwenden Sie den gcloud container clusters get-credentials-Befehl, um den Zugriff auf den GKE-Cluster zu konfigurieren. Wenn Sie die Option -impersonate-service-account einbeziehen, wird die Impersonation des Dienstkontos jedoch nicht auf die Anmeldeinformationen des GKE-Clusters übertragen. Dies ist der Grund.

Konfiguration des GKE-Cluster-Zugriffs

Die Cluster-Zugriffskonfiguration wird in Ihrer kubeconfig-Datei gespeichert. Und - wie Sie vielleicht schon vermutet haben - gcloud container clusters get-credentials aktualisiert diese Datei mit den GKE-Cluster-Zugangsdaten:

- name: gke_[project-id]_[location]_[cluster-name]
  user:
    auth-provider:
      config:
        access-token: ya29.....
        cmd-args: config config-helper --format=json
        cmd-path: gcloud
        expiry: "2021-02-12T13:47:53Z"
        expiry-key: '{.credential.token_expiry}'
        token-key: '{.credential.access_token}'
      name: gcp

Das Zugriffstoken wird für die Authentifizierung und den Zugriff auf den GKE-Cluster verwendet. Wenn der Token abgelaufen ist, wird er mit dem Befehl gcloud config config-helper -format=json erneuert.

Konfigurieren des unpersönlichen GKE-Cluster-Zugriffs

Interessanterweise ändert gcloud container clusters get-credentials --impersonate-service-acount xxx@...gserviceaccount.com den Befehl zur Aktualisierung des Tokens nicht. Wenn also das Zugriffstoken aktualisiert wird, wird der Befehl gcloud config config-helper ohne das --impersonate-service-account-Flag ausgeführt. Um das Impersonation-Flag beizubehalten, muss es als Standardargument gcloud mit gcloud config set auth/impersonate_service_account konfiguriert werden.

gcloud config set auth/impersonate_service_account xxx@...gserviceaccount.com
gcloud container clusters get-credentials my-cluster
kubectl get pods

Tipp Verwenden Sie eine separate gcloud-Konfiguration für die Dienstkonto-Impersonation. gcloud config configurations create impersonated

Fazit

Das GKE-Cluster-Zugriffstoken wird mit einem anderen gcloud Befehl angefordert. Fügen Sie daher das --impersonate-service-account-flag in Ihre gcloud Konfiguration ein, um den unpersönlichen GKE-Cluster-Zugriff zu konfigurieren.


Tags:

Verfasst von

Laurens Knoll

As a cloud consultant I enjoy improving what your company does best. I enable your business using cloud technology and enable your engineers by applying software engineering practices to your infrastructure domain.

Contact

Let’s discuss how we can support your journey.