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

Azure AGIC与AKS集成出现502 Bad Gateway的排查方案咨询

AKS + 应用网关(Kubenet)通信问题排查方案

基础连通性验证

  • 确认应用网关和AKS节点在同一VNet下,且节点子网与应用网关子网IP段无重叠
  • 在应用网关测试控制台发起对AKS服务ClusterIP的ping/端口测试,同时在AKS节点执行tcpdump -i eth0 host <应用网关IP>抓包,验证流量是否到达节点
  • 登录AKS节点,直接访问nginx测试Pod的IP和端口,确认应用本身正常运行

路由表配置校验

  • 检查AKS节点子网关联的路由表,确认存在指向应用网关子网的用户定义路由(UDR):路由前缀需覆盖应用网关IP段,下一跳类型为VirtualAppliance,下一跳地址为应用网关私有IP
  • 验证路由表的路由传播设置:确保Route propagation已启用,避免系统路由被覆盖导致AKS节点无法回包到应用网关
  • 执行az network route-table route list --resource-group <资源组名> --route-table-name <路由表名>导出路由表,检查是否存在相同前缀的冲突路由

NSG规则合法性检查

  • 检查AKS节点子网的NSG:确认入站规则允许应用网关子网IP段访问AKS服务的目标端口(如80/443),优先级需高于默认拒绝规则
  • 检查应用网关子网的NSG:确认出站规则允许访问AKS节点子网IP段及服务端口,同时入站规则允许外部流量到应用网关前端端口
  • 验证NSG的关联范围:确保NSG正确关联到AKS节点子网和应用网关子网,而非仅单个VM/资源
  • 执行az network nsg rule list --resource-group <资源组名> --nsg-name <NSG名>导出规则,检查源/目标IP、端口、协议是否匹配实际需求

AKS服务与应用网关配置匹配检查

  • 确认AKS服务type为ClusterIP(应用网关仅能直接访问ClusterIP或NodePort,LoadBalancer类型需额外配置)
  • 检查服务的selector是否与nginx测试Pod的标签完全匹配,确保服务正确关联到Pod
  • 验证服务ports配置:targetPort需与Pod暴露端口一致,port为服务监听端口,应用网关后端池需指向该端口
  • 执行kubectl describe service <服务名>查看服务Endpoint状态,确认列表中包含正常运行的Pod IP

应用网关后端池与健康探针验证

  • 检查应用网关后端池:确认后端目标为AKS服务的ClusterIP,端口与服务配置一致
  • 验证健康探针配置:探针路径(如/)、端口、协议需与nginx应用的健康检查端点匹配,探针失败会导致后端被标记为不可用
  • 查看应用网关后端健康状态,确认所有后端目标处于Healthy状态,若为Unhealthy,根据提示排查端口、路径或连通性问题

日志与监控排查

  • 查看AKS节点kube-proxy日志:journalctl -u kube-proxy,确认流量是否正确转发到Pod
  • 查看应用网关的访问日志和性能日志,过滤目标为AKS服务的请求,检查是否有流量到达及错误状态码(如502/503)
  • 执行kubectl logs <nginx-Pod名>查看应用日志,确认是否收到来自应用网关的请求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 05:42:10