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

AKS AGIC Ingress Controller无法同步Ingress资源变更问题

AKS AGIC 无法持续监听Ingress资源变更的排查方案
  • 检查RBAC权限是否完整
    AGIC要持续监听Ingress等资源变更,必须拥有对应的watch和list权限。试试用命令查看它绑定的ClusterRole:

    kubectl describe clusterrole <agic-cluster-role-name>
    

    确认这个ClusterRole包含以下权限:

    • ingresses(extensions、networking.k8s.io组)的get、list、watch
    • services、endpoints、pods的get、list、watch
    • configmaps的get权限(用于读取自身配置)
  • 核对AGIC的核心配置参数
    检查AGIC部署的环境变量,确认APPGW_RESOURCE_GROUP、AKS_CLUSTER_NAME配置正确,同时确认INGRESS_CLASS(旧版本)或Ingress资源的spec.ingressClassName(新版本)完全匹配——不匹配的话AGIC会直接忽略该Ingress。
    另外查看AGIC的ConfigMap(通常叫agic-config),如果设置了watchNamespace,它只会监听指定命名空间的Ingress,要是你的Ingress在其他命名空间,自然不会触发更新。

  • 清理缓存并重启AGIC
    AGIC内部的K8s客户端缓存可能出现 stale 情况,试试删除它的ConfigMap再重启Pod(记得先备份配置):

    kubectl delete configmap agic-config
    kubectl rollout restart deployment <agic-deployment-name>
    

    同时检查节点的网络策略,有没有限制AGIC Pod和K8s API Server的通信,DNS解析故障也会导致AGIC断连无法监听变更。

  • 开启调试日志排查静默错误
    默认日志级别可能看不到深层问题,把AGIC的日志级别改成debug:

    kubectl set env deployment <agic-deployment-name> LOG_LEVEL=debug
    

    然后查看日志,确认有没有接收到Ingress变更事件却没处理,或者同步到Application Gateway时出现了静默失败的情况。另外去Azure门户看看Application Gateway本身的健康状态,网关故障也会导致同步卡住。

  • 验证Ingress变更的有效性
    确保你修改的是Ingress的关键字段(比如路径规则、后端服务),而非无关的元数据(比如描述字段)——AGIC可能忽略非核心字段的变更。同时查看Ingress的status字段,要是status.loadBalancer.ingress没更新,说明AGIC根本没处理这个Ingress的变更。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 05:40:02