AWS Kubernetes集群部署aws-load-balancer-controller失败求助
问题解决指引
你遇到的the server could not find the requested resource报错是控制器启动时无法识别对应Kubernetes API资源导致的,可按以下步骤排查修复:
- 确认集群版本与控制器版本适配
aws-load-balancer-controller v2.3.0仅支持Kubernetes 1.19~1.22版本,若你的EKS集群版本高于1.22,请更换与集群版本匹配的控制器部署文件。 - 补装对应版本的CRD资源
你使用的v2_3_0_full.yaml不含CRD定义,需先部署对应版本的CRD资源后再安装主控制器,CRD文件可在对应版本的控制器发布包中获取。 - 检查IngressClass资源配置
v2.2.0及以上版本的控制器需要提前创建配套的IngressClass资源,指定controller值为ingress.k8s.aws/alb,否则控制器会因找不到关联IngressClass报错。 - 验证ServiceAccount关联IAM权限
确认控制器对应的ServiceAccount已绑定拥有ELB、证书管理、WAF等相关服务操作权限的AWS IAM角色,权限缺失也会触发资源访问类报错。 - 重新部署控制器
排查修复后执行重启操作,再验证部署状态:
kubectl rollout restart deployment -n kube-system aws-load-balancer-controller kubectl get deployment -n kube-system aws-load-balancer-controller
内容的提问来源于stack exchange,提问作者sethu2912
相关产品推荐
相关产品推荐

