Migrar do roteamento de aplicativo HTTP para o complemento de roteamento de aplicativo
Neste artigo, você aprenderá a migrar seu cluster do AKS (Serviço de Kubernetes do Azure) do recurso de roteamento de aplicativos HTTP para o complemento de roteamento de aplicativos. O complemento de roteamento de aplicativos HTTP foi desativado e não funciona em nenhuma versão do Kubernetes de cluster atualmente com suporte. Recomendamos migrar o mais rápido possível para manter uma configuração com suporte.
Pré-requisitos
- CLI do Azure versão 2.54.0 ou posterior instalada e configurada. Execute
az --version
para encontrar a versão. Se você precisa instalar ou atualizar, consulte Instalar a CLI do Azure. - A extensão da CLI do Azure
aks-preview
da versão 0.5.171 ou posterior instalada
Observação
Estas etapas fornecem detalhes sobre a migração de uma configuração sem suporte. Dessa forma, o AKS não pode oferecer suporte para problemas que surgem durante o processo de migração.
Atualizar os complementos, as entradas e o uso de IP do cluster
Habilite o complemento de roteamento de aplicativo.
az aks approuting enable --resource-group <ResourceGroupName> --name <ClusterName>
Atualize as entradas definindo
ingressClassName
comowebapprouting.kubernetes.azure.com
. Remova a anotaçãokubernetes.io/ingress.class
. Você também precisa atualizar o host para um que pertença a você, pois o complemento de roteamento de aplicativos não tem uma zona DNS de cluster gerenciado. Caso você não tenha uma zona DNS, siga as instruções para criar e configurar uma.Inicialmente, a configuração de entrada será parecida com esta:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: aks-helloworld annotations: kubernetes.io/ingress.class: addon-http-application-routing # Remove the ingress class annotation spec: rules: - host: aks-helloworld.<CLUSTER_SPECIFIC_DNS_ZONE> http: paths: - path: / pathType: Prefix backend: service: name: aks-helloworld port: number: 80
Depois que você atualizá-lo corretamente, a mesma configuração será semelhante à seguinte:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: aks-helloworld spec: ingressClassName: webapprouting.kubernetes.azure.com # Set the ingress class property to refer to the application routing add-on ingress class rules: - http: host: aks-helloworld.<CLUSTER_SPECIFIC_DNS_ZONE> # Replace with your own hostname paths: - path: / pathType: Prefix backend: service: name: aks-helloworld port: number: 80
Atualize o IP do controlador de entrada (como nos registros DNS) com o novo endereço IP. Encontre o novo IP usando
kubectl get
. Por exemplo:kubectl get svc nginx --namespace app-routing-system -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
Desabilite o complemento de roteamento de aplicativo HTTP.
az aks disable-addons --resource-group <ResourceGroupName> --name <ClusterName> --addons http_application_routing
Remover e excluir todos os recursos de roteamento de aplicativo HTTP
Após o complemento de roteamento de aplicativos HTTP ser desativado, alguns recursos relacionados do Kubernetes podem permanecer no cluster. Esses recursos incluem configmaps e segredos que são criados no namespace kube-system. Para manter um cluster limpo, remova esses recursos. Procure recursos addon-http-application-routing usando os seguintes comandos
kubectl get
:kubectl get deployments --namespace kube-system kubectl get services --namespace kube-system kubectl get configmaps --namespace kube-system kubectl get secrets --namespace kube-system
O seguinte exemplo de saída mostra os configmaps que devem ser excluídos:
NAMESPACE NAME DATA AGE kube-system addon-http-application-routing-nginx-configuration 0 9m7s kube-system addon-http-application-routing-tcp-services 0 9m7s kube-system addon-http-application-routing-udp-services 0 9m7s
Exclua os recursos restantes usando o comando
kubectl delete
. Certifique-se de especificar o tipo de recurso, nome do recurso e o namespace. O exemplo a seguir exclui um dos configmaps anteriores:kubectl delete configmaps addon-http-application-routing-nginx-configuration --namespace kube-system
Repita a etapa
kubectl delete
anterior para todos os recursos addon-http-application-routing que restam em seu cluster.
Próximas etapas
Depois de migrar para o complemento de roteamento de aplicativos, saiba como monitorar as métricas do controlador de entrada com o Prometheus e o Grafana.
Azure Kubernetes Service