使用Terraform设置GKE如何防止google_container_cluster资源扩展

时间:2018-08-26 12:41:01

标签: kubernetes google-cloud-platform terraform google-kubernetes-engine

我有一个有效的Terraform声明,其中包含一个google_container_cluster和一个google_container_node_pool

当我的kubectl部署在节点上产生压力时,会自动产生另一个google_container_node_pool。

如何控制此[每个群集限制为一个或n个节点池]

我只能找到一种方法来限制node_pool中的节点的最小值和最大值设置为1

resource "google_container_node_pool" "rtp_container_cluster_node_pool" 
{
  name = "node-pool"
  zone = "${var.zone}"
  cluster = "${google_container_cluster.rtp_container_cluster.name}"

  node_config {
    machine_type = "${var.machine_type_node}"
    disk_size_gb = "${var.disk_size_gb_node}"
    local_ssd_count = "${var.local_ssd_count_node}"
    oauth_scopes = "${var.oauth_scopes}"
  }


  # Autoscale
  autoscaling {
    min_node_count = "${var.minNodeCount_node}"
    max_node_count = "${var.maxNodeCount_node}"
  }
}



resource "google_container_cluster" "rtp_container_cluster" {
  name = "${var.container_cluster_name}-master"
  zone = "${var.zone}"
  initial_node_count = "${var.cluster_count}"
  additional_zones = "${var.additional_zones}"
  network = "${var.network}"
  subnetwork = "${var.subnetwork}"
  enable_kubernetes_alpha = "${var.enable_kubernetes_alpha}"
  min_master_version = "${var.min_master_version}"

  master_auth {
    username = "${var.username}"
    password = "${var.password}"
  }

  node_config {
    machine_type = "${var.machine_type}"
    disk_size_gb = "${var.disk_size_gb}"
    local_ssd_count = "${var.local_ssd_count}"
    oauth_scopes = "${var.oauth_scopes}"
    tags = "${var.tags}"

    labels {
      purpose = "dev-rtp-poc-cluster"
    }
  }

  addons_config {
    http_load_balancing {
      disabled = "${var.http_load_balancing_disable}"
    }

    horizontal_pod_autoscaling {
      disabled = "${var.horizontal_pod_autoscaling_disable}"
    }
  }

}

1 个答案:

答案 0 :(得分:0)

自动缩放在节点池级别上进行。 GKE中没有可自动创建新节点池的系统。如果您希望每个群集只有一个节点,我建议您将初始节点数设置为“ 1”,并完全禁用自动缩放功能,因为在您的用例中不需要。