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

Azure AGIC YAML配置及502 Bad Gateway错误问题求助

AGIC 502错误解决方案

1. 替换废弃的Ingress API版本

你当前使用的extensions/v1beta1版本Ingress在Kubernetes v1.19及以上版本已正式废弃,新版AGIC不再支持该版本API,会导致配置无法正确同步到Azure Application Gateway。需替换为networking.k8s.io/v1版本,同时补充必填的pathType字段:

---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: aspnetapp
  namespace: asp-test
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    # 可选:显式指定健康探测路径,避免默认探测不符合应用要求
    appgw.ingress.kubernetes.io/health-probe-path: "/"
spec:
  rules:
  - http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: aspnetapp-load
            port:
              number: 80

2. 调整Service类型为ClusterIP(推荐)

AGIC的工作逻辑是直接将流量路由到后端Pod,无需经过LoadBalancer类型Service的Azure负载均衡层,你可以将Service改为ClusterIP类型,减少不必要的网络跳转,避免LB层配置干扰AGIC路由识别:

apiVersion: v1
kind: Service
metadata:
  name: aspnetapp-load
  namespace: asp-test
  labels:
    app: asp-frontend
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: 80
  selector:
    app: asp-frontend

3. 验证配置同步状态

  • 执行命令kubectl describe ingress aspnetapp -n asp-test,查看Events字段确认是否存在配置同步失败的报错,若出现权限类报错,需确认AGIC托管身份具备对应Namespace下Services、Endpoints、Pods资源的读取权限。
  • 登录Azure门户查看Application Gateway的后端池健康状态,若显示后端不健康,可根据实际情况调整健康探测的超时、重试阈值参数,确保探测请求可正常访问应用路径。

4. 多Ingress控制器场景适配

如果集群内部署了多个Ingress控制器,可显式指定IngressClass名称,避免配置被其他控制器接管。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:18:01