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

如何通过Terraform为GKE集群及节点池显式指定版本

配置GKE集群与节点池的显式版本(基于Terraform)

第一步:修正数据源语法错误

原数据源中location参数未加字符串引号,会导致Terraform解析失败,先修正:

data "google_container_engine_versions" "gke_version" {
  location       = "us-central1-a"
  version_prefix = "1.25."
}

第二步:配置集群控制平面版本

在google_container_cluster资源块中添加master_version字段,引用数据源返回的符合前缀要求的最新控制平面版本:

resource "google_container_cluster" "gke" {
  name     = var.cluster_name
  location = var.cluster_location
  # 显式指定控制平面版本
  master_version = data.google_container_engine_versions.gke_version.latest_master_version
  networking_mode = var.networking_mode
  network         = var.network
  subnetwork      = var.subnetwork
  remove_default_node_pool = var.remove_default_node_pool
  initial_node_count       = var.initial_node_count 
  ip_allocation_policy {
    cluster_secondary_range_name  = var.cluster_secondary_range_name
    services_secondary_range_name = var.services_secondary_range_name
  }
}

第三步:配置节点池版本

在google_container_node_pool资源块中添加version字段,有两种常用配置方式:

  1. 直接引用数据源返回的最新兼容节点版本
  2. 绑定集群控制平面版本,确保版本完全一致

修改后的节点池资源块示例:

resource "google_container_node_pool" "permanent" {
  name       = var.permanent_pool_name
  cluster    = google_container_cluster.gke.id
  node_count = var.permanent_node_count
  # 方式1:引用数据源的最新节点版本
  version = data.google_container_engine_versions.gke_version.latest_node_version
  # 方式2:绑定集群控制平面版本(推荐用于版本完全对齐场景)
  # version = google_container_cluster.gke.master_version
  management {
    auto_repair  = var.auto_repair
    auto_upgrade = var.auto_upgrade
  }
  node_config {
    preemptible = var.permanent_preemptible
    machine_type = var.permanent_machine_type
    disk_size_gb = var.permanent_disk_size_gb
    disk_type = var.gke_disk_type
    labels = {
      type = var.permanent_labels
    }
    
    service_account = var.svc_account
    oauth_scopes = [var.oauth_scopes]
  }
}

补充说明

  • latest_master_version:数据源返回的符合version_prefix规则的最新控制平面可用版本
  • latest_node_version:数据源返回的对应前缀的最新节点可用版本
  • 若开启auto_upgrade,GKE会自动升级节点到兼容版本,但显式指定初始版本可确保集群创建时使用预期版本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 22:32:53