
У меня есть ServiceAccount, который имеет разрешения на выполнение всех видов действий в моем проекте GCP, и конвейер Jenkins, который запускается каждую ночь и отключает одну из моих сред GKE.
Несколько дней назад я начал замечать случайные сбои при получении учетных данных для кластера, в то время как повторный запуск того же конвейера работает.
У меня есть следующий блок кода:
gcloud auth activate-service-account --key-file=****
gcloud container clusters get-credentials integration-cluster --zone europe-west1-c --project integration-project
дело в том, что по ночам, когда он не работает, я вижу следующую ошибку:
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".
как serviceAccount, если нет прав на проект, но ничего не изменилось и перезапуск работает.
в чем может быть причина? похоже на ошибку, но... где? сейчас я использую Google Cloud SDK 319.0.0.
10x
решение1
Сообщение об ошибке message=Required "container.clusters.get" permission(s)
означает, что у вашей учетной записи службы нет container.clusters.get
разрешений.
Согласно документацииПонимание ролейразделРоли движка Kubernetesроли roles/container.clusterViewer
и roles/container.clusterAdmin
содержат это разрешение.
Чтобы решить эту проблемувы можете предоставить своей учетной записи службы роль, которая содержит разрешение container.clusters.get
. Наименее привилегированная роль IAM, которая предоставляет это разрешение, — roles/container.clusterViewer
. Для получения более подробной информации, пожалуйста, ознакомьтесь с документациейПонимание учетных записей службразделПредоставление доступа к учетным записям служб.
Если у вашей учетной записи службы есть все необходимые разрешенияВы можете податьотчет о проблемевПубличный трекер проблем Googleили достичьПоддержка Google Cloud.