Workload Identity Federation for GKE using the GitLab chart
- GitLab 17.0에서 소개되었습니다.
차트의 외부 객체 저장에 대한 기본 구성은 시크릿 키를 사용합니다. 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