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

使用google_container_engine_versions获取GKE 1.31版本报错求助

Terraform获取GKE 1.31系列REGULAR渠道最新版本报错排查

你的报错核心原因是:当给google_container_engine_versions数据源指定version_prefix = "1.31."时,release_channel_latest_version只会包含对应渠道中版本号匹配该前缀的最新版本。如果在你指定的region里,REGULAR渠道的当前最新版本已经超出1.31系列(比如升级到1.32+),该渠道就不会出现在release_channel_latest_version这个map中,导致访问["REGULAR"]时触发报错。

解决方案

方案1:精准指定渠道+前缀,直接获取对应版本

通过release_channel参数锁定REGULAR渠道,结合version_prefix筛选1.31系列,直接取latest_master_version:

data "google_container_engine_versions" "regular_1_31" {
  provider         = google-beta
  location         = var.region
  release_channel  = "REGULAR"
  version_prefix   = "1.31."
}

min_master_version = data.google_container_engine_versions.regular_1_31.latest_master_version

方案2:筛选所有可用版本中的目标版本

如果需要更灵活的版本筛选逻辑,可以先获取全量版本,再过滤出REGULAR渠道下的1.31系列版本,取最新的:

data "google_container_engine_versions" "gke_versions" {
  provider       = google-beta
  location       = var.region
}

locals {
  # 筛选REGULAR渠道下以1.31开头的版本
  regular_1_31_versions = [
    for v in data.google_container_engine_versions.gke_versions.available_versions : v
    if startswith(v, "1.31.") && contains(data.google_container_engine_versions.gke_versions.release_channel_versions["REGULAR"], v)
  ]
  # 排序后取最后一个(即最新版本)
  latest_regular_1_31 = sort(local.regular_1_31_versions)[length(local.regular_1_31_versions)-1]
}

min_master_version = local.latest_regular_1_31

补充说明

  • 不同region的GKE版本推送进度可能不同,即使官方文档显示REGULAR渠道有1.31.x版本,也需要确认你指定的region是否已同步推送该版本。
  • 如果方案1返回空,说明当前region的REGULAR渠道已无1.31系列版本,此时需要考虑升级到更高版本,或切换到仍在维护1.31的渠道/region。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 00:05:05