AKS 1.22.2集群Ingress对接Azure Application Gateway无IP不生效排查
AKS Application Gateway Ingress 地址为空排查方案
0. 优先查看Ingress事件日志
执行命令kubectl describe ingress myingress,查看输出末尾的Events字段,通常会直接返回配置同步失败的具体原因,可优先根据报错信息定位问题。
1. 检查AGIC(Application Gateway Ingress Controller)运行状态
- 执行
kubectl get pods -n kube-system | grep ingress-azure,确认AGIC Pod处于Running状态,无重启、崩溃报错 - 若Pod状态异常,执行
kubectl logs <AGIC-Pod名称> -n kube-system查看日志,常见错误包括AKS身份无Application Gateway操作权限、Application Gateway配置冲突等
2. 核对Ingress与后端服务配置一致性
- 你的Ingress中指定的后端服务名称为
demo-microservice,但Service名称通过Helm变量{{ .Values.name }}渲染,需确认实际部署后的Service名称与Ingress配置完全一致 - 执行
kubectl get endpoints <实际部署的Service名称>,确认返回结果中存在对应微服务Pod的IP,若为空需检查Service的selector标签与Deployment的Pod标签是否匹配
3. 修正Ingress Class配置
- 高版本Kubernetes推荐使用
ingressClassName字段替代旧版注解,先执行kubectl get ingressclass确认集群中存在AGIC对应的IngressClass资源 - 修改Ingress配置,显式指定ingressClassName:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: myingress spec: ingressClassName: azure-application-gateway # 此处替换为kubectl get ingressclass返回的实际名称 rules: - http: paths: - path: / pathType: Prefix backend: service: name: demo-microservice port: number: 80
4. 检查Azure侧权限与配置
- 确认AGIC使用的托管身份具备目标Application Gateway的读取、写入权限,权限不足会导致AGIC无法更新负载均衡配置
- 到Azure Portal查看Application Gateway的配置状态,确认无配置更新失败的报错,常见问题包括子网地址不足、关联资源配置错误等
内容的提问来源于stack exchange,提问作者Debugger
相关产品推荐
相关产品推荐

