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

AKS 1.30部署Application Gateway for Containers失败求助

问题排查与解决步骤

一、先排查Gateway创建失败的核心原因

1. 校验Gateway YAML配置准确性

  • 确认API版本为gateway.networking.k8s.io/v1(AKS 1.30原生支持该版本)
  • 核对spec.gatewayClassName与ALB控制器部署时指定的类名一致,默认外部ALB为azure-alb-external,内部为azure-alb-internal
  • 检查Listener配置:HTTP端口需为80/8080等合法值,HTTPS需正确引用Kubernetes Secret中的证书,避免格式错误

2. 查看ALB控制器日志定位错误

执行命令获取控制器日志:

kubectl logs -n alb-system -l app=alb-controller

重点关注:

  • 身份认证错误:比如联邦身份凭证的受众与AKS OIDC Issuer不匹配,或用户分配身份的角色权限不足
  • 资源依赖错误:比如指定的虚拟网络、子网不存在,或ALB资源未正确关联到集群

3. 验证Terraform创建的身份资源

  • 确认AKS集群已启用OIDC,且联邦身份凭证中的Issuer URL与集群的OIDC Issuer完全一致
  • 检查角色分配范围:需覆盖ALB所在资源组或订阅,角色需包含Application Gateway for Containers Contributor权限(或自定义权限包含Microsoft.Network/applicationGateways/*等核心操作)

4. 检查集群与控制器兼容性

  • 确认ALB控制器版本与AKS 1.30兼容(建议使用v1.0.0及以上版本)
  • 验证Gateway API CRD已安装:执行kubectl get crd gateways.gateway.networking.k8s.io,若不存在需手动安装或重新部署控制器

5. 查看Gateway资源的详细状态

执行命令获取事件信息:

kubectl describe gateway <你的Gateway名称>

Events字段会直接显示创建失败的具体原因,比如配置校验不通过、控制器无法同步Azure资源等

二、其他部署方式

1. Azure CLI一键部署

使用az aks alb create命令自动完成ALB控制器、身份配置及Gateway创建,无需手动编写YAML:

az aks alb create --resource-group <资源组名称> --cluster-name <AKS集群名称> --name <ALB名称> --gateway-name <Gateway名称> --type external

该命令会自动处理所有依赖资源,降低手动配置出错概率

2. Azure Portal可视化部署

在AKS集群的Azure门户页面,进入「负载均衡器」选项,选择「创建Application Gateway for Containers」,按照向导选择类型、配置参数,门户会自动完成控制器安装、身份绑定及Gateway资源创建

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 08:47:16