AWS EKS托管节点组创建失败,vpc-cni与coredns健康异常
EKS节点组创建失败VPC CNI异常解决方案
根因说明
报错核心为EKS VPC CNI插件(对应aws-node系列Pod)无法正常启动,IPAM(IP地址管理)后台进程启动后无响应,导致集群网络组件异常,进而引发CoreDNS无法调度、节点组创建失败。
排查修复步骤
- 校验节点实例角色权限
托管节点组使用的EC2实例角色必须附加AmazonEKS_CNI_Policy托管策略,该策略提供VPC CNI调用AWS API创建弹性网卡、分配IP地址的必要权限。如果已经为VPC CNI配置了IRSA(服务账户IAM角色),需要确认IRSA角色同样附加了上述策略,且信任关系配置正确。 - 检查节点所属子网IP余量
登录AWS VPC控制台,查看节点组关联子网的可用IPv4地址数量,若可用IP不足,会导致IPAM无法分配到足够的地址触发启动失败。可选择扩容子网网段,或切换到IP余量充足的子网创建节点组。 - 验证VPC CNI自定义配置合理性
如果修改过VPC CNI的默认配置,需做对应校验:- 若开启了前缀委派参数
ENABLE_PREFIX_DELEGATION,需要确认节点所在子网已经开启了IPv4前缀委派功能 - 若启用了自定义网络配置参数
AWS_VPC_K8S_CNI_CUSTOM_NETWORK_CFG,需要确认集群中已经创建了对应的ENIConfig自定义资源,且和子网一一对应
- 若开启了前缀委派参数
- 确认节点API连通性
如果节点部署在私有子网,需要确认子网配置了可用的NAT网关,或者已经创建了EC2 API的VPC端点,保证节点可以正常调用AWS EC2 API,否则IPAM进程无法调用API分配IP,会出现启动超时。 - 升级VPC CNI插件到兼容版本
当前使用的VPC CNI版本可能存在已知bug,可在EKS控制台的集群「附加组件」页面,将VPC CNI插件升级到和集群版本匹配的最新稳定版。
完成上述修复后,aws-node Pod会自动重启恢复正常,待所有aws-node进入Running状态后,CoreDNS Pod也会正常调度运行,节点组即可创建成功。
内容的提问来源于stack exchange,提问作者elli
相关产品推荐
相关产品推荐

