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

如何优雅地基于列表变量生成AWS EKS托管节点组动态Map?

优化Terraform EKS托管节点组Map生成的写法

你可以直接用Terraform的map类型的for表达式来实现,只需要遍历一次可用区列表,比zipmap更简洁易读:

eks_managed_node_groups = {
  for az in var.availability_zones : "nodes_${az}" => {
    name = az
    # 其他节点组配置参数...
  }
}

为什么这个写法更优雅?

  • 只遍历var.availability_zones一次,避免了原写法中两次循环的冗余
  • 键和对应的值在同一个表达式块中定义,逻辑更连贯,一眼就能看出每个可用区对应的节点组配置关系
  • 不需要额外调用zipmap函数,代码结构更直观

效果示例

当var.availability_zones = ["a", "b", "c"]时,这个表达式会直接生成你需要的结构:

eks_managed_node_groups = {
  nodes_a = {
    name = "a"
    ...
  }
  nodes_b = {
    name = "b"
    ...
  }
  nodes_c = {
    name = "c"
    ...
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 11:35:56