从AKS的AGIC附加组件切换至Helm部署的AGIC的方法及相关问题咨询
从AKS的AGIC附加组件切换至Helm部署的AGIC的方法及相关问题咨询
我来帮你一步步解决这两个问题:
一、解决从AGIC附加组件切换到Helm部署时的IngressClass错误
你遇到的这个错误,核心原因是AKS AGIC附加组件自动创建的azure-application-gateway IngressClass,没有携带Helm管理所需的元数据标签和注释。Helm在安装时会校验资源归属,发现该资源并非Helm创建,就会拒绝导入。这里给你两种解决思路,更推荐第一种干净无隐患的方式:
方法1:删除原附加组件创建的IngressClass后重新安装
- 先确认当前IngressClass的状态:
kubectl get ingressclass azure-application-gateway - 备份这个IngressClass的配置(以防后续需要恢复):
kubectl get ingressclass azure-application-gateway -o yaml > agic-ingressclass-backup.yaml - 删除附加组件创建的IngressClass:
kubectl delete ingressclass azure-application-gateway不用担心流量中断,删除IngressClass只是移除了Ingress与AGIC的关联标识,已配置的应用网关规则不会立刻失效,等Helm版AGIC接管后会自动同步最新规则。
- 重新执行你的Helm安装命令,这次Helm会创建属于自己管理的
azure-application-gatewayIngressClass,就能顺利完成安装了。
方法2:手动修改现有IngressClass的元数据(不推荐,易留隐患)
如果不想删除现有IngressClass,可以手动给它补上Helm要求的标签和注释:
kubectl annotate ingressclass azure-application-gateway meta.helm.sh/release-name=ingress-azure-1710484411 kubectl annotate ingressclass azure-application-gateway meta.helm.sh/release-namespace=ingress-nginx kubectl label ingressclass azure-application-gateway app.kubernetes.io/managed-by=Helm
修改完成后再重新执行Helm安装命令就能通过校验,但这种方式会让IngressClass同时被附加组件和Helm“半管理”,后续升级或维护可能出现冲突,所以更推荐第一种删除重建的方式。
二、解决多AKS集群共享应用网关时手动切换路由表的问题
你遇到的手动切换路由表的问题,本质是每个AKS集群关联应用网关时,会自动创建专属路由表并绑定到网关子网,但子网只能关联一个路由表,导致两个集群的路由表冲突。这里有两个可行的解决方案:
方案1:手动合并路由表规则
- 分别导出两个AKS集群自动创建的路由表规则:找到每个AKS对应的路由表(通常在应用网关所在资源组,名称带
aks-前缀),查看其中的路由条目——这些条目主要是将AKS节点子网的流量指向各自的VNet对等连接或节点池。 - 创建一个新的路由表,把两个集群的路由条目合并进去(注意避免重复或冲突的路由)。
- 将应用网关的子网关联到这个合并后的路由表,这样两个AKS集群的流量都能通过该路由表正确转发,无需再手动切换。
方案2:利用AGIC多集群能力实现自动化管理
如果你的两个AKS集群在同一个VNet或已通过VNet对等连接打通,推荐这种更自动化的方式:
- 为每个AKS集群分别部署独立的Helm版AGIC实例:
- 每个AGIC的Helm配置中,指定对应的
aks.clusterName和aks.resourceGroup,同时确保appgw.resourceGroup和appgw.name指向同一个应用网关。 - 为每个AGIC配置
watchNamespace参数,让它们只监听各自集群内的指定命名空间(避免跨集群Ingress规则冲突)。
- 每个AGIC的Helm配置中,指定对应的
- 两个AGIC实例会各自同步对应集群的Ingress规则到同一个应用网关,网关会自动合并这些规则。
- 路由表方面,只要合并后的路由表包含两个AKS集群的节点子网路由,流量就能同时转发到两个集群的服务,无需手动切换。
这样就能实现两个AKS集群共享同一个应用网关的自动化管理,不用再手动操作路由表啦。
备注:内容来源于stack exchange,提问作者Jeff
相关产品推荐
相关产品推荐

