eks_managed_node_group_defaults与eks_managed_node_groups的差异及适用场景
AWS EKS Terraform模块:eks_managed_node_group_defaults与eks_managed_node_groups的差异及适用场景
核心差异
eks_managed_node_group_defaults是全局默认配置块,作用是给所有在eks_managed_node_groups中定义的节点组提供通用的默认属性值。eks_managed_node_groups是具体节点组的自定义配置,这里设置的任何属性,都会直接覆盖eks_managed_node_group_defaults里的同名配置。
你遇到的情况很典型:如果 eks_managed_node_group_defaults 里配置了某类实例类型,但 eks_managed_node_groups 明确指定了 t3.large,后者优先级更高,所以集群只会用 t3.large。移除 eks_managed_node_group_defaults 后无变更,是因为你的节点组已经自行定义了所有必要属性,defaults里的配置根本没生效过。
何时需要使用eks_managed_node_group_defaults
- 当你要创建多个节点组且存在大量重复配置时,用它减少冗余代码。比如多个节点组共用同一个IAM角色、子网集合、安全组、磁盘大小、AMI类型等,把这些重复项放在defaults里,每个节点组只需定义差异化内容(如实例类型、节点组名称、副本数)。
- 方便统一批量修改:后续要调整所有节点组的通用配置(比如把所有节点磁盘大小从20G改成50G),只需修改defaults一处,不用逐个修改每个节点组的定义。
- 快速创建标准节点组:如果需要快速生成符合团队标准配置的节点组,defaults可以预先设定好团队统一规则,新节点组只需补充个性化参数即可。
内容的提问来源于stack exchange,提问作者Hongbo Miao
相关产品推荐
相关产品推荐

