융무의 기술블로그
article thumbnail

테라폼으로 airflow helm차트를 배포하던 중에 에러가 발생했습니다. 에러가 발생된 소스 코드입니다.

provider "kubernetes" {
  host             = google_container_cluster.primary.endpoint
  token            = data.google_client_config.default.access_token
  cluster_ca_certificate = base64decode(
    google_container_cluster.primary.master_auth[0].cluster_ca_certificate
  )

이는 프로바이더의 host 주소가 이상하다고 나온 에러였습니다.

mun_js@cloudshell:~/terraform-airflow-gke (ggke-401900)$ terraform refresh
data.google_client_config.default: Reading...

Invalid attribute in provider configuration

  with provider["registry.terraform.io/hashicorp/kubernetes"],
  on airflow.tf line 7, in provider "kubernetes":
  7: provider "kubernetes" {

'host' is not a valid URL

콘솔에서 직접 확인해 보니 https 부분이 빠진채로 반환하고 있습니다.

mun_js@cloudshell:~/terraform-airflow-gke (ggke-401900)$ terraform console
> google_container_cluster.primary.endpoint
"3x.6x.xxx.xxx"

해당 주소가 먼저 GKE 클러스터의 외부 엔드포인트와 일치하는지 확인합니다.

관련하여 깃허브 이슈 테라폼 공식 문서를 참고하여 해결했습니다.

수정된 코드는 아래와 같습니다.

provider "kubernetes" {
  host             = "https://${google_container_cluster.primary.endpoint}"
  token            = data.google_client_config.default.access_token
  cluster_ca_certificate = base64decode(
    google_container_cluster.primary.master_auth[0].cluster_ca_certificate
  )
}

 

profile

융무의 기술블로그

@융무

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!