EKS集群搭配Istio部署时AWS ALB无法创建问题排查求助
排查思路
- 首先确认AWS Load Balancer Controller(原ALB Ingress Controller)运行状态
执行命令kubectl get pods -n kube-system | grep aws-load-balancer-controller查看对应Pod是否处于Running状态,若Pod异常,直接抓取Pod日志定位原因:kubectl logs -n kube-system <控制器Pod名称>,IAM权限不足、API调用失败这类底层问题都会在日志中明确输出。 - 查看Ingress资源的事件记录
执行命令kubectl describe ingress alb -n istio-system,查看输出底部的Events字段,控制器处理Ingress资源的全流程日志都会在这里记录,包括证书无效、子网不符合要求、后端服务异常等错误信息,是定位这类问题最直接的方式。 - 校验IRSA与IAM权限配置
你已经开启了IRSA,需要确认绑定到aws-load-balancer-controller ServiceAccount的IAM策略包含创建ALB、TargetGroup、安全组规则的全量权限,同时确认EKS集群的OIDC提供商配置正确,否则IRSA失效会导致控制器无法调用AWS的资源创建接口。 - 检查VPC子网标签配置
你创建的是公网ALB,要求集群所用的VPC公有子网必须配置标签kubernetes.io/role/elb = 1,且子网分布在至少2个可用区,否则ALB无法正常创建。 - 校验配置项有效性
- 确认Ingress中填写的ACM证书ARN与EKS集群属于同一AWS区域,且证书处于已签发的有效状态
- 确认你部署的AWS Load Balancer Controller版本兼容EKS 1.18版本,版本不匹配会出现控制器不识别Ingress配置的问题
- 确认没有其他Ingress控制器占用
alb这个ingress.class标识,导致Ingress资源没有被目标控制器处理。
- 检查安全组权限
确认控制器有修改工作节点安全组的权限,允许ALB的流量转发到NodePort端口,权限缺失会导致ALB创建流程回滚。
内容的提问来源于stack exchange,提问作者DevOpsNRZ
相关产品推荐
相关产品推荐

