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

EKS中多Ingress绑定同一ALB规则不生效问题

EKS多Ingress共享ALB失败问题修复

核心原因:Ingress分组标识不统一

AWS ALB Ingress Controller依靠alb.ingress.kubernetes.io/group.name注解来将多个Ingress资源绑定到同一个ALB。你的两个Ingress配置中该注解值不一致:

  • 主Ingress(alb-ingress.yaml):alb.ingress.kubernetes.io/group.name: "alb-dev"
  • 应用Ingress(app.yaml):alb.ingress.kubernetes.io/group.name: "alb-triercloud-dev"

这种不一致会让Controller将它们判定为两个独立的ALB分组,因此不会合并路由规则。

分步修复

  1. 统一分组名称
    修改app.yaml中的group.name注解,使其与主Ingress完全一致:

    metadata:
      annotations:
        alb.ingress.kubernetes.io/group.name: "alb-dev"
    
  2. 修正后端服务名称错误
    app.yaml的Ingress规则里指定的后端服务是echoserver,但你实际部署的Service名称是app,这会导致路由失效,需要同步修正:

    rules:
      - host: service-a.devopsbyexample.io
        http:
          paths:
            - path: /
              pathType: Exact
              backend:
                service:
                  name: app  # 原名称为echoserver,改为实际Service名
                  port:
                    number: 80
    
  3. 可选:统一ALB名称配置
    虽然group.name是核心关联字段,但建议保持alb.ingress.kubernetes.io/load-balancer-name在两个Ingress中一致,避免潜在的配置冲突。

  4. 重新部署配置
    执行以下命令更新集群资源:

    kubectl apply -f alb-ingress.yaml -n dev
    kubectl apply -f app.yaml -n dev
    
  5. 验证规则同步
    可以通过AWS控制台查看ALB的监听器规则,确认两个Ingress的路径都已添加;也可以查看ALB Controller的日志,确认配置同步成功。

额外注意事项

  • 所有共享同一ALB的Ingress必须使用相同的ingressClassName: alb
  • group.order注解用于控制路由规则的优先级,数值越小优先级越高,可根据业务需求调整
  • 如果启用HTTPS,同组Ingress的SSL相关注解(如证书ARN)需保持一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 14:25:24