GCP Terraform: настройка порта для серверной службы

Чтение документации здесь:

https://www.terraform.io/docs/providers/google/r/compute_backend_service.html

Мы можем определить серверную службу:

resource "google_compute_backend_service" "kubernetes-nginx-prod" {
  name                            = "kubernetes-nginx-prod"
  health_checks                   = [google_compute_health_check.kubernetes-nginx-prod-healthcheck.self_link]

  backend {
    group = replace(google_container_node_pool.pool-1.instance_group_urls[0], "instanceGroupManagers", "instanceGroups")
    # TODO missing port 31443
  }
}

Похоже, мы не можем установить порт серверной службы через настройки Terraform:

введите описание изображения здесь

Воссоздание серверной службы без этих настроек на самом деле приводит к простоям для нас, и порт приходится писать вручную.


person Vojtěch    schedule 17.09.2020    source источник


Ответы (1)


Нам нужно указать имя порта, которое мы дали в группе экземпляров, например,

resource "google_compute_backend_service" "test" {
  name          = "test-service"
  port_name     = "test-port"
  protocol      = "HTTP"
  timeout_sec   = 5
  health_checks = []

  backend {
    group = "${google_compute_instance_group.test-ig.self_link}"
  }
}

resource "google_compute_instance_group" "test-ig" {
  name        = "test-ig"
  instances = []

  named_port {
    name = "test-port"
    port = "${var.app_port}"
  }

  zone = "${var.zone}"
}
person Rajesh Gupta    schedule 17.09.2020
comment
Благодарность! однако - группы экземпляров создаются автоматически через Kubernetes (google_container_cluster) - хочу ли я сохранить их вручную в состоянии терраформирования? - person Vojtěch; 17.09.2020