
Ich habe einen ServiceAccount, der die Berechtigung hat, alle möglichen Dinge in meinem GCP-Projekt zu tun, und eine Jenkins-Pipeline, die jede Nacht läuft und eine meiner GKE-Umgebungen herunterfährt.
Vor ein paar Tagen sind mir zufällige Fehler beim Abrufen der Anmeldeinformationen für den Cluster aufgefallen, während das erneute Ausführen derselben Pipeline funktioniert.
ich habe folgenden Codeblock:
gcloud auth activate-service-account --key-file=****
gcloud container clusters get-credentials integration-cluster --zone europe-west1-c --project integration-project
die Sache ist, dass ich in den Nächten, in denen es fehlschlug, den folgenden Fehler sehe:
00:00:45 Activated service account credentials for: [[email protected]]
00:00:46 Fetching cluster endpoint and auth data.
00:00:46 ERROR: (gcloud.container.clusters.get-credentials) ResponseError: code=403, message=Required "container.clusters.get" permission(s) for "projects/integration-project/zones/europe-west1-c/clusters/integration-cluster".
wie der ServiceAccount, wenn Berechtigungen für das Projekt fehlen, sich aber nichts geändert hat und die erneute Ausführung funktioniert.
Was kann der Grund dafür sein? Es sieht nach einem Fehler aus, aber ... wo? Ich verwende jetzt Google Cloud SDK 319.0.0.
10x
Antwort1
Die Fehlermeldung message=Required "container.clusters.get" permission(s)
bedeutet, dass Ihr Dienstkonto keine container.clusters.get
Berechtigung hat.
Entsprechend der DokumentationGrundlegendes zu RollenAbschnittKubernetes Engine-RollenRollen roles/container.clusterViewer
und roles/container.clusterAdmin
enthalten diese Berechtigung.
So lösen Sie dieses ProblemSie können Ihrem Servicekonto eine Rolle zuweisen, die die Berechtigung enthält container.clusters.get
. Die am wenigsten privilegierte IAM-Rolle, die diese Berechtigung erteilt, ist roles/container.clusterViewer
. Weitere Einzelheiten finden Sie in der DokumentationGrundlegendes zu DienstkontenAbschnittGewähren des Zugriffs auf Dienstkonten.
Wenn Ihr Dienstkonto über alle erforderlichen Berechtigungen verfügtSie können eineProblemberichtbeiGoogle Öffentlicher Issue-Trackeroder erreichenGoogle Cloud-Unterstützung.