Eu tinha um AKS com complemento AGIC ativado e preciso mudar para AGIC como um gráfico de leme ( https://learn.microsoft.com/en-us/azure/application-gateway/ingress-controller-install-existente ) em um tento conectar dois clusters AKS a um único gateway de aplicativo, mas como posso alterar a forma como o AGIC foi configurado? Eu pensei que executar disable addon resolveria o problema, mas quando tentei aplicar o arquivo helm-config, recebi esta mensagem de erro:
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"
Além disso, por algum motivo, tenho que alternar manualmente a tabela de rotas de sub-rede do Gateway quando o conecto a um dos serviços de cada AKS, o que anula o propósito de poder conectar 2 AKS ao gateway, queria saber se existe uma solução para isso também ou uma maneira de contornar isso. Obrigado!
A transição do complemento AGIC para um AGIC gerenciado pelo Helm envolve várias etapas porque você precisa garantir que os recursos criados pelo complemento sejam devidamente limpos ou transicionados para serem gerenciados pelo Helm. O erro que você está encontrando indica que os recursos existentes não foram reivindicados ou limpos adequadamente durante a instalação do Helm. Conforme explicado nos comentários,
Primeiro, desative o complemento AGIC
Segundo, limpe os recursos existentes
Certifique-se de que todos os recursos criados pelo complemento sejam completamente removidos. Isso inclui o IngressClass
azure-application-gateway
mencionado na mensagem de erro.Liste os recursos no namespace kube-system (ou o namespace relevante se o AGIC foi implantado em outro lugar) para ver o que pode estar relacionado ao AGIC.
kubectl get all -n <namespace>
Procure recursos com nomes que incluam ingress-appgw ou identificadores semelhantes relacionados ao Gateway de Aplicativo ou AGIC.
AGIC usa ConfigMaps para sua configuração, então verifique isso também
kubectl get configmaps -n kube-system or if you have any specific namespace
Verifique contas de serviço e funções específicas do AGIC-
kubectl get serviceaccounts,roles,rolebindings -n kube-system or any other namespace
e exclua-os após editar o namespace adequadamente.
Assim que a limpeza for concluída, você pode prosseguir com a instalação do AGIC usando Helm