通过Terraform为自动扩缩容Kubernetes集群设置启动盘大小遇参数不支持问题求助
解决Terraform配置GKE集群时
disk_size_gb参数的错误 你遇到的Unsupported argument错误原因很清晰:disk_size_gb并不是google_container_cluster资源根层级的合法参数,它是**节点池(Node Pool)**专属的节点配置属性,必须放在对应的节点配置块中。
两种正确的配置方式
1. 针对默认节点池配置磁盘大小
如果你的集群依赖GKE自动创建的默认节点池,需要把disk_size_gb嵌套到default_node_config块内:
resource "google_container_cluster" "gc-dev-kube-ds0" { ... cluster_autoscaling { enabled = true resource_limits { resource_type = "cpu" minimum = 4 maximum = 150 } resource_limits { resource_type = "memory" minimum = 4 maximum = 600 } resource_limits { resource_type = "nvidia-tesla-v100" minimum = 0 maximum = 4 } } # 配置默认节点池的磁盘大小 default_node_config { disk_size_gb = 200 # 你还可以在这里添加其他节点属性,比如machine_type、preemptible等 } }
2. 针对自定义节点池配置磁盘大小
如果你手动定义了节点池,需要在node_pool块的node_config子块中设置磁盘参数:
resource "google_container_cluster" "gc-dev-kube-ds0" { ... cluster_autoscaling { enabled = true resource_limits { resource_type = "cpu" minimum = 4 maximum = 150 } resource_limits { resource_type = "memory" minimum = 4 maximum = 600 } resource_limits { resource_type = "nvidia-tesla-v100" minimum = 0 maximum = 4 } } # 自定义节点池 node_pool { name = "gpu-worker-pool" initial_node_count = 1 autoscaling { min_node_count = 0 max_node_count = 4 } # 节点级配置:设置磁盘大小 node_config { disk_size_gb = 200 machine_type = "n1-standard-8" # 根据你的GPU需求匹配机型 accelerator { type = "nvidia-tesla-v100" count = 1 } } } }
额外注意事项
- 如果你的集群已经创建完成,修改
disk_size_gb会触发节点池的滚动更新——GKE会逐个替换现有节点以应用新的磁盘配置,这个过程会短暂影响集群容量,建议在业务低峰期操作; - 如果你同时使用默认节点池和自定义节点池,需要分别在各自的
node_config块中配置磁盘大小,两者的配置是独立的。
内容的提问来源于stack exchange,提问作者AKs
相关产品推荐
相关产品推荐

