EKS Anywhere创建vSphere集群时etcdadm-controller部署超时如何排查
排查etcdadm-controller-controller-manager部署超时方法
前置操作:切换kubeconfig到临时引导集群
EKS Anywhere部署时会先在本地创建临时kind引导集群,相关控制器会先部署在这个集群中,先执行命令切换上下文:
export KUBECONFIG=./dev-eks-anywhere-cluster/dev-eks-anywhere-cluster-eks-a-cli.kubeconfig
第一步:查询Deployment当前等待条件
直接执行describe命令查看Deployment的状态详情,就能直接获取等待的具体条件:
kubectl describe deployment -n etcdadm-controller-system etcdadm-controller-controller-manager
重点关注输出中的两个部分:
Conditions字段:会明确列出当前Deployment未满足的就绪条件,比如副本数不达标、可用副本数不足、进度超时等- 末尾的
Events日志:会记录调度、镜像拉取、资源分配环节的具体报错,常见原因包括镜像拉取失败、vSphere资源不足、调度无可用节点、健康检查失败等
第二步:关联Pod层面排查
如果Deployment层面未定位到根因,继续查对应Pod的状态:
- 先查询该命名空间下的Pod列表:
kubectl get pods -n etcdadm-controller-system - 选中状态非Running的Pod,查看Pod详情:
同样重点看Events部分的报错信息kubectl describe pod -n etcdadm-controller-system <替换为查询到的Pod名称> - 如果Pod已启动但未就绪,查看容器运行日志定位报错:
# 查看当前运行日志 kubectl logs -n etcdadm-controller-system <替换为Pod名称> -c manager # 如果Pod有崩溃历史,查看上一次崩溃的日志 kubectl logs -n etcdadm-controller-system <替换为Pod名称> -c manager --previous
配置问题补充检查
你提供的集群配置存在明显笔误:VSphereDatacenterConfig的spec.server字段末尾缺少闭合双引号,会导致vSphere API认证失败,也会间接引发该控制器的依赖资源准备失败,建议先修正该配置后重试部署。
内容的提问来源于stack exchange,提问作者user1869257
相关产品推荐
相关产品推荐

