
GCP 프로젝트에서 모든 종류의 작업을 수행할 수 있는 권한이 있는 ServiceAccount와 야간에 실행되고 GKE 환경 중 하나를 종료하는 Jenkins 파이프라인이 있습니다.
며칠 전에 동일한 파이프라인을 다시 실행하는 동안 클러스터에 대한 자격 증명을 가져올 때 무작위 실패가 발생하는 것을 발견하기 시작했습니다.
나는 다음과 같은 코드 블록을 가지고 있습니다 :
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을 사용하고 있습니다.
10배
답변1
오류 메시지는 message=Required "container.clusters.get" permission(s)
서비스 계정에 권한이 없음을 의미합니다 container.clusters.get
.
문서에 따르면역할 이해부분Kubernetes Engine 역할역할을 수행 roles/container.clusterViewer
하며 roles/container.clusterAdmin
이 권한을 포함합니다.
이 문제를 해결하려면권한이 포함된 서비스 계정 역할에 부여할 수 있습니다 container.clusters.get
. 이 권한을 제공하는 최소 권한의 IAM 역할은 입니다 roles/container.clusterViewer
. 자세한 내용은 설명서를 참조하세요.서비스 계정 이해부분서비스 계정에 대한 액세스 권한 부여.
서비스 계정에 필요한 모든 권한이 있는 경우당신은 파일을 제출할 수 있습니다문제 보고서~에Google 공개 문제 추적기또는 도달Google 클라우드 지원.