Migrar do roteamento de aplicativos HTTP para o complemento de roteamento de aplicativos
Neste artigo, você aprenderá a migrar seu cluster do Serviço Kubernetes do Azure (AKS) do recurso de roteamento de aplicativo HTTP para o complemento de roteamento de aplicativo. O complemento de roteamento de aplicativo HTTP foi desativado e não funciona em nenhuma versão do Kubernetes de cluster atualmente em suporte. Recomendamos migrar o mais rápido possível para manter uma configuração suportada.
Pré-requisitos
- Azure CLI versão 2.54.0 ou posterior instalada e configurada. Executar
az --version
para localizar a versão. Se precisar de instalar ou atualizar, veja Install Azure CLI (Instalar o Azure CLI). aks-preview
Extensão da CLI do Azure da versão 0.5.171 ou posterior instalada
Nota
Estas etapas detalham a migração de uma configuração sem suporte. Como tal, a AKS não pode oferecer apoio para questões que surjam durante o processo de migração.
Atualize os complementos, entradas e uso de IP do cluster
Habilite o complemento de roteamento de aplicativos.
az aks approuting enable --resource-group <ResourceGroupName> --name <ClusterName>
Atualize suas Ingresses, definindo
ingressClassName
comowebapprouting.kubernetes.azure.com
. Remova akubernetes.io/ingress.class
anotação. Você também precisa atualizar o host para um que você possui, pois o complemento de roteamento de aplicativo não tem uma zona DNS de cluster gerenciado. Se não tiver uma zona DNS, siga as instruções para criar e configurar uma.Inicialmente, sua configuração de entrada será mais ou menos assim:
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 de atualizar corretamente, a mesma configuração tem a seguinte aparência:
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 ingresso (como em registros DNS) com o novo endereço IP. Você pode encontrar o novo IP usando
kubectl get
. Por exemplo:kubectl get svc nginx --namespace app-routing-system -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
Desative 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 aplicativos HTTP
Depois que o complemento de roteamento de aplicativo HTTP for desabilitado, alguns recursos relacionados do Kubernetes poderão permanecer no cluster. Esses recursos incluem configmaps e segredos que são criados no namespace kube-system . Para manter um cluster limpo, você pode remover esses recursos. Procure recursos addon-http-application-routing usando os seguintes
kubectl get
comandos:kubectl get deployments --namespace kube-system kubectl get services --namespace kube-system kubectl get configmaps --namespace kube-system kubectl get secrets --namespace kube-system
A saída de exemplo a seguir mostra 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
kubectl delete
comando. Certifique-se de especificar o tipo de recurso, o 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 anterior
kubectl delete
para todos os recursos addon-http-application-routing restantes no cluster.
Próximos passos
Depois de migrar para o complemento de roteamento de aplicativos, saiba como monitorar as métricas do controlador de ingresso com o Prometheus e o Grafana.
Azure Kubernetes Service