GKE를 위한 GitLab 차트를 사용한 Workload Identity Federation

차트의 외부 객체 리포지터리에 대한 기본 구성은 시크릿 키를 사용합니다. 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