You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Load Balancer Controller部署后Ingress未创建负载均衡求助

排查AWS Load Balancer Controller未创建ALB的问题

核心配置检查

  • TLS配置不匹配:你的Ingress TLS段中指定的hosts: test.ones.com与rules中的q.test.ones.com、s.test.ones.com不匹配。启用TLS时,TLS块中的host必须覆盖所有rules里的域名,否则控制器可能无法正确关联证书,导致ALB创建失败。修正TLS配置:

    tls:
    - hosts:
      - q.test.ones.com
      - s.test.ones.com
      # 若已有对应ACM证书,可添加注解指定证书ARN
      # alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:region:account-id:certificate/cert-id
    
  • Ingress Class兼容性:对于Kubernetes 1.19+的Ingress v1 API,推荐使用spec.ingressClassName替代旧的kubernetes.io/ingress.class注解,部分环境下旧注解可能无法被控制器识别。修改Ingress spec部分:

    spec:
      ingressClassName: alb
      tls:
      # ... 其余配置保持不变
    

后端服务状态验证

  • 确认后端服务存在且有就绪端点:
    # 检查服务基本状态
    kubectl get service q-service p-service
    # 检查端点是否就绪(ENDPOINTS列需显示非空的IP:Port)
    kubectl get endpoints q-service p-service
    
    如果服务无就绪端点,控制器会跳过ALB创建,因为没有可路由的目标资源。

控制器日志排查

  • 查看AWS Load Balancer Controller的实时日志,获取具体错误信息:
    kubectl logs -n kube-system deployment/aws-load-balancer-controller --follow
    
    日志会明确提示失败原因(如权限不足、子网标签缺失、证书不存在等)。

基础设施与权限检查

  • VPC子网标签验证:确保EKS集群的公有子网带有以下标签(internet-facing模式必需):

    • kubernetes.io/cluster/<你的集群名称>: shared
    • kubernetes.io/role/elb: 1
      控制器依赖这些标签自动选择子网创建ALB。
  • IAM权限确认:检查控制器绑定的IAM角色是否包含AmazonEKSLoadBalancerControllerPolicy权限,确保具备创建ALB、Target Group、Listener等资源的权限。

  • 负载均衡名称冲突:检查AWS控制台中是否已存在名为silq-alb的负载均衡,同名会导致创建失败,可修改alb.ingress.kubernetes.io/load-balancer-name注解的值。

内容的提问来源于stack exchange,提问作者GJoshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 15:55:17