如何通过 helm 从 AGIC Addon 更改为 AGIC?

问题描述 投票:0回答:1

我有一个启用了 AGIC 插件的 AKS,我必须切换到 AGIC 作为舵图(https://learn.microsoft.com/en-us/azure/application-gateway/ingress-controller-install-existing )尝试将两个 AKS 群集连接到单个应用程序网关,但如何更改 AGIC 的设置方式?我虽然运行禁用插件可以解决问题,但当我尝试应用 helm-config 文件时,我看到了以下错误消息:

Error: INSTALLATION FAILED: Unable to continue with install: IngressClass "azure-application-gateway" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "ingress-azure-1710484411"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "ingress-nginx"

此外,由于某种原因,当我将网关连接到每个 AKS 的服务之一时,我必须手动切换网关的子网路由表,这有点违背了能够将 2 个 AKS 连接到网关的目的,想知道是否有解决方案也为了这个或者解决这个问题的方法。谢谢!

kubernetes-helm azure-aks azure-application-gateway
1个回答
0
投票

从 AGIC 插件过渡到 Helm 管理的 AGIC 涉及多个步骤,因为您需要确保插件创建的资源得到正确清理或转换为由 Helm 管理。您遇到的错误表明在 Helm 安装期间未正确声明或清理现有资源。正如评论中所解释的,

首先,禁用 AGIC 插件

az aks disable-addons --addons ingress-appgw --name MyAKSCluster --resource-group MyResourceGroup

二、清理现有资源

确保完全删除该插件创建的所有资源。这包括错误消息提到的 IngressClass

azure-application-gateway

您的问题-我如何知道所有资源在什么时候创建的 AGIC 插件已启用?

列出 kube-system 命名空间(或相关命名空间,如果 AGIC 部署在其他地方)中的资源,以查看可能与 AGIC 相关的内容。

kubectl get all -n <namespace>

查找名称包含 ingress-appgw 或与应用程序网关或 AGIC 相关的类似标识符的资源。

kubectl delete ingressclass azure-application-gateway

AGIC 使用 ConfigMaps 进行配置,因此也请检查一下

kubectl get configmaps -n kube-system or if you have any specific namespace

检查 AGIC 特定的服务帐户和角色 -

kubectl get serviceaccounts,roles,rolebindings -n kube-system or any other namespace

并在相应编辑命名空间后删除它们。

kubectl delete deployment <agic-deployment-name> -n kube-system
kubectl delete service <agic-service-name> -n kube-system
kubectl delete configmap <agic-configmap-name> -n kube-system
kubectl delete serviceaccount <agic-serviceaccount-name> -n kube-system
kubectl delete roles,rolebindings <agic-roles-and-rolebindings> -n kube-system

清理完成后,您可以使用 Helm

继续安装 AGIC
© www.soinside.com 2019 - 2024. All rights reserved.