Workload Identity Federation for GKE using the GitLab chart

차트의 외부 객체 저장에 대한 기본 구성은 시크릿 키를 사용합니다. GKE용 Workload Identity Federation를 사용하면 일시적인 토큰을 사용하여 쿠버네티스 클러스터에 대한 객체 저장 접근을 부여할 수 있습니다. 기존 GKE 클러스터가 있는 경우 노드 풀을 업데이트하여 Workload Identity Federation을 사용하도록 설정하는 방법에 대한 Google 문서를 참조하십시오.

문제 해결

Kubernetes ServiceAccount가 IAM 서비스 계정에 연결되어 있는지 확인하십시오. 이는 iam.gke.io/gcp-service-account 주석을 통해 수행됩니다.

다음 명령을 사용하여 Workload Identity가 올바르게 구성되었는지 확인할 수 있습니다. Toolbox pod 내의 메타데이터 엔드포인트를 쿼리하는 것입니다. 클러스터에 연결된 서비스 계정이 반환되어야 합니다:

$ curl -H "Metadata-Flavor: Google" http://169.254.169.254/computeMetadata/v1/instance/service-accounts/default/email
example@your-example-project.iam.gserviceaccount.com

이 계정은 다음 스코프에 액세스할 수 있어야 합니다:

$ curl -H "Metadata-Flavor: Google" http://169.254.169.254/computeMetadata/v1/instance/service-accounts/default/scopes
https://www.googleapis.com/auth/cloud-platform
https://www.googleapis.com/auth/userinfo.email