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

访问EKS集群Ingress ALB超时问题求助

排查EKS ALB Ingress访问超时问题
  • 确认Ingress Controller与Ingress资源的关联

    • 执行kubectl get ingressclass,验证alb类的controller字段为ingress.k8s.aws/alb,确保Controller监听该IngressClass。
    • 检查Controller Pod状态:kubectl get pods -n kube-system | grep aws-load-balancer-controller(根据实际命名空间调整),确认Pod处于Running状态。若Pod异常,查看启动日志排查权限或配置问题。
  • 查看Ingress资源的事件与状态

    • 执行kubectl describe ingress ingress-2048 -n game-2048,重点检查Events段:
      • 若没有ALB创建的相关事件(如“Successfully reconciled”),说明Controller未识别到该Ingress,需检查IngressClass匹配、Controller权限或资源标签。
      • 若有错误事件(如子网选择失败、权限不足),根据提示修复对应问题。
    • 确认Ingress的Address字段是否已分配ALB域名:若为空,说明ALB未创建,问题根源在Controller或AWS资源权限;若有域名,继续排查ALB配置。
  • 检查ALB及目标组配置

    • 登录AWS控制台找到对应ALB,确认状态为active,若为provisioning需等待完成,若状态异常查看AWS事件日志。
    • 查看目标组:
      • 确认目标组类型为IP(匹配Ingress注解alb.ingress.kubernetes.io/target-type: ip)。
      • 检查目标组内的Pod IP健康状态:若健康检查失败,会导致ALB拒绝转发流量,需确认健康检查路径(默认是/,若应用有特定健康检查路径需通过注解alb.ingress.kubernetes.io/healthcheck-path指定)。
    • 安全组配置:
      • ALB安全组需允许0.0.0.0/0的80端口入站流量。
      • Pod所在节点(或Pod网络,若用CNI)的安全组需允许ALB安全组的80端口访问。
  • 验证Controller的IAM权限

    • 若使用IRSA(IAM Roles for Service Accounts),检查Controller的ServiceAccount注解:kubectl describe sa aws-load-balancer-controller -n kube-system,确认eks.amazonaws.com/role-arn指向正确的IAM角色。
    • 确认该IAM角色已附加AmazonEKSLoadBalancerControllerPolicy(或包含创建/管理ALB、安全组、目标组等资源的权限),且信任关系允许EKS OIDC身份访问。
  • 检查VPC子网标签

    • 对于internet-facing的ALB,Controller会自动选择带有kubernetes.io/role/elb: 1标签的公有子网。执行aws ec2 describe-subnets --filters "Name=tag:kubernetes.io/role/elb,Values=1",确认存在符合条件的子网,且子网路由表已关联Internet Gateway。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 08:55:23