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

AKS集群外部流量路由配置问题排查:LoadBalancer与Ingress

AKS流量路由方案合理性及问题排查

方案合理性说明

LoadBalancer + Ingress 是完全合理的生产级流量架构:

  • Ingress Controller 负责集群内部的路由规则管理,而 LoadBalancer 是将 Ingress Controller 暴露到公网的标准方式,这种组合能兼顾路由灵活性(Ingress 的路径、域名规则)和公网访问的稳定性(固定公网IP、负载均衡能力)。
  • AKS 的 http_application_routing 插件是官方封装的快速部署方案,它自动集成了 Ingress Controller 和 DNS 解析,适合快速测试场景,但自定义配置空间有限。两种方案没有绝对优劣,取决于你的配置需求。

超时问题排查步骤

  1. 验证 LoadBalancer 绑定状态
    执行 kubectl get services -n <ingress-controller-namespace>,确认 Ingress Controller 的 Service 类型为 LoadBalancer,EXTERNAL-IP 是你通过 Terraform 绑定的公网IP,且状态为 Ready。
  2. 检查网络安全组(NSG)规则
    确认 AKS 节点池对应的 NSG 已开放入站8080端口,同时 LoadBalancer 的前端端口已映射到 Ingress Controller Service 的目标端口(比如若 Ingress Controller 监听80端口,需确保 Service 配置了 8080:80 的端口映射)。
  3. 确认 Ingress Controller 运行状态
    执行 kubectl get pods -n <ingress-controller-namespace>,确保所有 Ingress Controller Pod 处于 Running 状态;通过 kubectl logs <ingress-pod-name> -n <ingress-controller-namespace> 查看日志,排查启动或路由转发错误。
  4. 检查 Ingress 资源有效性
    执行 kubectl get ingress,确认 ADDRESS 字段已正确关联公网IP或域名;执行 kubectl describe ingress <your-ingress-name>,验证路由规则中的 backend 指向正确的 Node.js Service。

404错误排查步骤

  1. 验证路由路径匹配逻辑
    检查 Ingress 规则的 path 配置:若使用的是 Nginx Ingress Controller,需明确 pathType(Prefix 或 Exact)。例如,若 Node.js 服务的接口路径是 /server/api,Ingress 配置应类似:
    spec:
      rules:
      - http:
          paths:
          - path: /server/api
            pathType: Prefix
            backend:
              service:
                name: <nodejs-service-name>
                port:
                  number: <nodejs-service-port>
    
    注意:若使用 Prefix 类型,是否需要追加 /* 取决于 Nginx 的配置模式(部分场景下需用 rewrite-target 注解调整)。
  2. 测试后端服务可达性
    通过临时 Pod 直接访问 Node.js 的 ClusterIP 服务,验证接口本身是否正常:
    kubectl run -it --rm test-curl --image=curlimages/curl -- curl http://<nodejs-service-cluster-ip>:<port>/server/api
    
    若此请求也返回404,说明问题出在 Node.js 服务本身的路径配置,而非 Ingress。
  3. 检查 http_application_routing 插件的 Ingress 配置
    该插件默认部署的 Ingress Controller 可能带有默认的路由规则或域名限制,需确认你的 Ingress 资源是否正确关联了插件提供的域名后缀,或是否允许直接通过IP访问(部分配置下仅支持域名路由)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 07:21:24