You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform创建GKE集群时遇Cluster.initial_node_count报错求助

问题原因

GKE集群API存在硬性约束:当设置remove_default_node_pool = true时,必须显式指定initial_node_count = 0。

你的Terraform配置仅开启了remove_default_node_pool = true,但未设置initial_node_count,此时GKE会使用默认值1。这就形成了矛盾:你要求移除默认节点池,但集群初始化时又被要求创建一个含1个节点的默认池,API校验因此失败,抛出Cluster.initial_node_count must be greater than zero的错误。

解决方法

修改google_container_cluster资源,添加initial_node_count = 0参数,明确告知GKE集群初始化时无需创建默认节点池:

resource "google_container_cluster" "my-cluster" {
  name     = "my-cluster"
  location = var.zone

  remove_default_node_pool = true
  initial_node_count       = 0 # 新增该行配置
}

resource "google_container_node_pool" "default" {
  name       = "default"
  cluster    = google_container_cluster.my-cluster.name
  location   = google_container_cluster.my-cluster.location
  node_count = 1
}
补充说明

你的gcloud命令能正常执行,是因为该命令直接创建了包含1个节点的默认节点池,不存在移除默认池的操作,因此没有配置冲突。而Terraform的配置逻辑是先创建无默认节点池的集群,再单独添加自定义节点池,所以必须显式声明初始节点数为0来匹配这个逻辑。

内容的提问来源于stack exchange,提问作者bionics parv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 14:12:41