AKS查询HTTPApplicationRoutingZoneName无结果,Ingress部署地址为空求助
解决AKS Ingress地址为空及HTTP路由域名获取失败问题
1. 确认HTTP应用路由插件状态
命令无返回结果的核心原因是AKS集群未启用HTTP应用路由插件,先检查插件状态:
az aks show --resource-group $RESOURCEGROUP --name $CLUSTERNAME --query addonProfiles.httpApplicationRouting.enabled
如果返回false,执行以下命令启用插件:
az aks enable-addons --resource-group $RESOURCEGROUP --name $CLUSTERNAME --addons http_application_routing
启用后重新运行原查询命令,即可获取格式为xxx.eastus.aksapp.io的正确域名。
2. 修正Ingress配置并重新部署
你之前使用的cna-demo-aks-dns-ow17um7l.portal.hcp.eastus.azmk8s.io是AKS内部API域名,无法用于外部Ingress访问。需替换为上述步骤获取的xxx.eastus.aksapp.io格式域名,示例Ingress配置如下:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: cna-express spec: rules: - host: your-obtained-zone.eastus.aksapp.io http: paths: - path: / pathType: Prefix backend: service: name: cna-express-service port: number: 80
重新部署Ingress:
kubectl apply -f your-ingress-file.yaml
3. 验证Ingress状态
部署后等待1-2分钟,执行命令检查状态:
kubectl get ingress cna-express
此时ADDRESS列应显示负载均衡器地址,DNS会自动解析配置的host域名到该地址。
4. 额外排查项
- 确认环境变量配置正确:
echo $RESOURCEGROUP $CLUSTERNAME
- 检查关联Service状态,确保
ENDPOINTS列有正常Pod地址:
kubectl get service cna-express-service
内容的提问来源于stack exchange,提问作者Alex Alpert
相关产品推荐
相关产品推荐

