EKS节点组更新时启动模板存储卷类型与资源标签被重置的设置咨询
EKS节点组更新时启动模板存储卷类型与资源标签被重置的设置咨询
遇到这个情况确实挺闹心的——明明只想更新AMI,结果启动模板里的gp3存储卷变成gp2,自定义标签还没了。我帮你梳理下原因和对应的解决办法:
问题根源
当你通过EKS控制台点击「Update Now」更新节点组时,如果没有明确指定保留原有启动模板的自定义配置,EKS的服务角色(arn:aws:sts::____:assumed-role/AWSServiceRoleForAmazonEKSNodegroup/EKS)会自动生成一个新的启动模板版本,这个版本会默认使用gp2存储卷,并且不会继承你之前添加的自定义资源标签。
解决办法
更新节点组时明确保留启动模板配置
在EKS控制台更新节点组的流程中,不要直接走默认的快速更新,要进入「Launch template」的配置环节:- 选择「Use existing launch template」,指定你原本的启动模板(比如版本12)
- 确认勾选类似「Preserve launch template configuration」的选项(不同界面表述可能略有差异,核心是让节点组继承原有模板的存储卷、标签等配置)
如果你习惯用CLI操作,可以执行以下命令(替换参数为你自己的资源信息):
aws eks update-nodegroup-config \ --cluster-name your-cluster-name \ --nodegroup-name your-nodegroup-name \ --launch-template id=your-launch-template-id,version="12"这个命令会强制节点组使用你指定的启动模板版本,不会自动生成重置配置的新版本。
手动创建仅更新AMI的启动模板版本
如果你只需要更新AMI,完全可以自己手动创建一个新的启动模板版本:- 打开EC2控制台的启动模板页面,找到你的目标模板
- 选择「Create template version」,基于原有版本(比如版本12)进行修改
- 只修改AMI ID,保留原有的gp3存储卷配置和资源标签
- 回到EKS控制台,更新节点组时选择这个新创建的版本即可
检查节点组更新策略
确认你的节点组更新策略设置为「Rolling update」(默认就是这个,但可以核对下),这种更新方式会逐批次替换节点,且新节点会严格遵循你指定的启动模板配置,不会出现自动重置的情况。
你的实际示例
- 版本12(由你创建):存储卷类型为gp3,带有自定义资源标签
- 版本13(由EKS服务角色自动创建):存储卷被重置为gp2,自定义资源标签被删除
备注:内容来源于stack exchange,提问作者James Gedny
相关产品推荐
相关产品推荐

