aws는 external-dns를 적용하면 load balancer에 uuid.location.elb.amazonaws.com을 자동으로 생성해주며 azure는 서비스에 Redirect URIs을 설정하면 service-name.location.cloudapp.azure.com로 접속할 수 있게 무료로 https url을 만들어줌.
하지만 gcp에는 그런 기능이 없는듯 → 참고
external dns를 적용하더라도 외부에서 접근할 수 있는 도메인은 third party 서비스를 통해 발급받아야 하며, external dns는 gke에 서비스 배포시 A 레코드 연동을 쉽게 할 수 있게 도와주기만 하는듯
gke cluster와 node 1개 이상이 설치되어 있어야 함
gcloud init 을 통해 프로젝트와 계정 설정이 되어있어야 함
Third Party를 통해 발급받은 DNS가 있어야 함
로그인된 계정은 아래와 같은 권한은 갖고 있어야 함
logging.logWriter
monitoring.metricWriter
monitoring.viewer
stackdriver.resourceMetadata.writer
dns.admin
IAM에서 권한을 보면 아래와 같음

GKE에서 실행되는 애플리케이션을 Compute Engine API, BigQuery Storage API, Machine Learning API와 같은 Google Cloud API에 액세스할 수 있게 해줌
기존 클러스터 업데이트에 워크로드 아이덴티티를 사용 설정할 경우, 기존 노드 풀은 영향을 받지 않지만 클러스터의 모든 새 노드 풀은 워크로드 아이덴티티를 사용하도록 할 수 있다.
gcloud container clusters update CLUSTER_NAME \
--region=COMPUTE_REGION \
--workload-pool=PROJECT_ID.svc.id.goog
기존 노드 풀 업데이트
gcloud container node-pools update NODEPOOL_NAME \
--cluster=CLUSTER_NAME \
--workload-metadata=GKE_METADATA
gcp 콘솔에서 확인해보면 GKE 메타데이터 서버가 사용 설정됨으로 바뀐 걸 볼 수 있다.

GCP 콘솔로 들어가 Cloud DNS에서 영역 만들기 버튼을 클릭한다.
