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

AKS集群安装nginx ingress出现SyncLoadBalancerFailed错误如何解决

错误核心诱因
  • 静态公网IP归属不匹配:使用的静态公网IP不在AKS自动生成的MC_开头节点资源组内,或IP所属订阅、区域与AKS集群不一致,Azure负载均衡器调度时无法找到对应IP实例
  • 身份权限不足:AKS集群使用的服务主体或托管身份,没有静态IP所在资源组的Network Contributor权限,无法读取绑定IP资源
  • 安装参数配置错误:nginx Ingress安装时填写的静态IP地址有误、注解参数配置错误,或误用了内网IP、基础SKU IP用于公网暴露场景
    注意:AKS默认使用标准SKU的负载均衡器,仅支持绑定相同SKU的公网IP
可直接复用的操作示例

步骤1:核对基础资源信息

首先查询AKS集群对应的节点资源组名称:
az aks show --resource-group <AKS集群所在资源组名> --name <AKS集群名> --query nodeResourceGroup -o tsv
输出结果为MC_开头的资源组名,优先将公网静态IP创建在该资源组下,区域与AKS集群保持一致,SKU选择「标准」、分配方式选择「静态」。

步骤2:配置权限(仅IP不在MC_开头资源组时需要执行)

首先查询AKS集群托管身份的principal ID:
az aks show --resource-group <AKS集群所在资源组名> --name <AKS集群名> --query identity.principalId -o tsv
为该身份分配IP所在资源组的网络 contributor 权限:
az role assignment create --assignee <上一步输出的principal ID> --role "Network Contributor" --scope <静态IP所在资源组的资源ID>

步骤3:安装配置nginx Ingress控制器

通过Helm安装时指定对应参数即可:

# 添加入口仓库
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update

# 安装控制器
helm install ingress-nginx ingress-nginx/ingress-nginx \
  --namespace ingress-basic \
  --create-namespace \
  --set controller.service.loadBalancerIP=<你的静态公网IP地址> \
  --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-resource-group"=<静态IP所在资源组名>

如果静态IP部署在MC_开头的节点资源组内,可省略最后一行注解配置参数。

步骤4:验证部署状态

等待1-2分钟后执行命令查看服务状态:
kubectl get service -n ingress-basic
当EXTERNAL-IP列显示你配置的静态公网IP时,说明部署成功。

如果不需要固定公网IP,可直接省略loadBalancerIP和对应注解参数,Azure会自动分配动态公网IP,不会触发本次报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 15:39:03