GKE를 위한 GitLab 차트를 사용한 Workload Identity Federation
- GitLab 17.0에서 소개되었습니다.
차트의 외부 객체 리포지터리에 대한 기본 구성은 시크릿 키를 사용합니다. GKE를 위한 Workload Identity Federation를 사용하면 임시 토큰을 사용하여 쿠버네티스 클러스터에 대한 객체 리포지터리 액세스를 부여할 수 있습니다. 기존의 GKE 클러스터가 있는 경우 Google 문서를 참조하여 노드 풀을 업데이트하여 Workload Identity Federation을 사용하도록 설정하는 방법을 읽어보세요.
문제 해결
Kubernetes ServiceAccount가 IAM 서비스 계정에 연결되어 있는지 iam.gke.io/gcp-service-account
어노테이션을 통해 확인하세요.
도구상자 pod 내부의 메타데이터 엔드포인트를 쿼리하여 Workload Identity가 올바르게 구성되었는지 확인할 수 있습니다. 클러스터에 연결된 서비스 계정이 반환되어야 합니다:
$ 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