部署EKS集群时kube-system中aws-node Pod缺失问题求助
EKS集群aws-node DaemonSet未调度Pod排查建议
1. 确认托管节点组状态与集群节点
- 执行命令检查节点组状态:
确认输出中aws eks describe-nodegroup --cluster-name <你的集群名称> --nodegroup-name <节点组名称>STATUS字段为ACTIVE,scalingConfig.desiredSize与实际期望节点数一致。 - 检查集群节点是否正常加入:
如果无节点输出,说明节点组未成功创建或节点无法连接EKS控制平面,需先解决节点注册问题。kubectl get nodes
2. 验证CNI IAM角色配置
- 检查集群关联的CNI角色:
确保输出为你创建的CNI角色ARN,若为空或不正确,需重新配置EKS集群的CNI角色(按官方CNI角色配置流程完成创建与关联)。aws eks describe-cluster --name <你的集群名称> --query "cluster.resourcesVpcConfig.cniRoleArn"
3. 检查节点污点与DaemonSet容忍度
- 查看节点是否存在污点:
kubectl describe nodes | grep Taints - 检查aws-node DaemonSet的容忍规则:
如果节点有污点但DaemonSet无对应容忍配置,需添加匹配的容忍规则到DaemonSet模板。kubectl get daemonset aws-node -n kube-system -o yaml | grep -A 10 tolerations
4. 排查调度约束配置
- 确认DaemonSet的节点选择器:
确保未设置无法匹配集群节点的选择器规则。kubectl get daemonset aws-node -n kube-system -o yaml | grep -A 5 nodeSelector - 检查Pod亲和性配置:
确认不存在限制调度的亲和性规则导致Pod无法调度。kubectl get daemonset aws-node -n kube-system -o yaml | grep -A 20 affinity
5. 分析节点初始化日志
- 若能登录节点,查看kubelet运行日志:
排查是否存在镜像拉取失败、权限错误等导致aws-node Pod无法启动的问题。journalctl -u kubelet -f - 确认节点实例IAM角色包含
AmazonEKSWorkerNodePolicy、AmazonEC2ContainerRegistryReadOnly等必要权限,确保节点能正常拉取EKS镜像仓库中的aws-node镜像。
内容的提问来源于stack exchange,提问作者user2315104
相关产品推荐
相关产品推荐

