如何将AWS EKS集群的公有节点转为私有节点?
移除EKS节点实例的公网IP方法
为什么关闭子网自动分配公网IP无效
子网的「自动分配公有IP」设置仅对新创建的EC2实例生效,已经运行的EKS节点实例不会自动应用该变更,所以需要手动处理现有节点并更新节点组配置。
步骤1:移除现有节点的公网IP
- 登录EC2控制台,定位到EKS集群对应的节点实例
- 选中目标实例,点击「操作」→「实例状态」→「停止实例」(自动分配的公网IP无法在实例运行时直接释放)
- 进入实例详情页,找到关联的「网络接口」,点击进入网络接口详情
- 点击「操作」→「编辑网络接口」,将「自动分配公有IP」设置为「禁用」,保存变更
- 回到实例页面,点击「操作」→「实例状态」→「启动实例」,启动后实例将不再分配公网IP
步骤2:更新EKS节点组配置,避免新节点分配公网IP
场景A:使用启动模板的节点组
- 进入EC2控制台的「启动模板」页面,找到节点组关联的启动模板
- 创建启动模板的新版本,在「网络设置」中,将「自动分配公有IP」设置为「禁用」
- 进入EKS控制台的节点组页面,选中目标节点组,点击「更新节点组」,选择刚才创建的启动模板新版本,完成更新
- 触发节点组滚动更新,让现有节点逐步替换为使用新启动模板的节点
场景B:未使用启动模板的节点组
- 进入EKS控制台的节点组页面,选中目标节点组,点击「更新节点组」
- 在更新配置中,找到网络相关设置,关闭「自动分配公有IP」选项
- 完成更新并触发滚动更新,替换现有节点
步骤3:确保节点网络连通性(关键)
如果节点没有公网IP,需要保证VPC内配置了NAT网关(部署在公有子网),并且节点所在子网的路由表添加了指向NAT网关的0.0.0.0/0路由,这样节点可以通过NAT网关访问互联网(用于拉取容器镜像、安装依赖等),同时保证与EKS控制平面的内部通信正常。
内容的提问来源于stack exchange,提问作者Abraham Parulian Sihombing
相关产品推荐
相关产品推荐

