Eseguire la migrazione dal routing dell'applicazione HTTP al componente aggiuntivo di routing dell'applicazione
Questo articolo illustra come eseguire la migrazione del cluster del servizio Azure Kubernetes dalla funzionalità di routing delle applicazioni HTTP al componente aggiuntivo di routing dell’applicazione. Il componente aggiuntivo di routing dell'applicazione HTTP è stato ritirato e non funziona in alcuna versione Kubernetes del cluster attualmente supportata. È consigliabile eseguire la migrazione il prima possibile per mantenere una configurazione supportata.
Prerequisiti
- Interfaccia della riga di comando di Azure versione 2.54.0 o successiva installata e configurata. Eseguire
az --version
per trovare la versione. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure. aks-preview
Estensione dell'interfaccia della riga di comando di Azure versione 0.5.171 o successiva installata
Nota
Questi passaggi illustrano in dettaglio la migrazione da una configurazione non supportata. Di conseguenza, il servizio Azure Kubernetes non può offrire supporto per i problemi che si verificano durante il processo di migrazione.
Aggiornare i componenti aggiuntivi, gli accessi in ingresso e l'utilizzo degli indirizzi IP del cluster
Abilitare il componente aggiuntivo di routing dell'applicazione.
az aks approuting enable --resource-group <ResourceGroupName> --name <ClusterName>
Aggiornare gli accessi in ingresso impostando
ingressClassName
suwebapprouting.kubernetes.azure.com
. Rimuovere l'annotazionekubernetes.io/ingress.class
. È anche necessario aggiornare l'host a uno di cui si è proprietari, perché il componente aggiuntivo di routing dell'applicazione non ha una zona DNS del cluster gestito. Se non si ha una zona DNS, seguire le istruzioni per crearne e configurare una.Inizialmente, la configurazione in ingresso avrà un aspetto simile al seguente:
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
Dopo aver completato l'aggiornamento correttamente, la stessa configurazione sarà simile alla seguente:
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
Aggiornare l'IP del controller in ingresso (ad esempio nei record DNS) con il nuovo indirizzo IP. È possibile trovare il nuovo indirizzo IP usando
kubectl get
. Ad esempio:kubectl get svc nginx --namespace app-routing-system -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
Disabilitare il componente aggiuntivo di routing dell'applicazione HTTP.
az aks disable-addons --resource-group <ResourceGroupName> --name <ClusterName> --addons http_application_routing
Rimuovere ed eliminare tutte le risorse di routing delle applicazioni HTTP
Dopo aver disabilitato il componente aggiuntivo di routing dell'applicazione HTTP, alcune risorse Kubernetes correlate potrebbero rimanere nel cluster. Queste risorse includono configmaps e secrets che vengono create nello spazio dei nomi kube-system. Per mantenere un cluster pulito, è possibile rimuovere queste risorse. Cercare le risorse addon-http-application-routing con i comandi
kubectl get
seguenti:kubectl get deployments --namespace kube-system kubectl get services --namespace kube-system kubectl get configmaps --namespace kube-system kubectl get secrets --namespace kube-system
L'output di esempio seguente mostra le risorse configmaps che devono essere eliminate:
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
Eliminare le risorse rimanenti usando il comando
kubectl delete
. Assicurarsi di specificare il tipo di risorsa, il nome della risorsa e lo spazio dei nomi. Nell'esempio seguente viene eliminata una delle risorse configmaps precedente:kubectl delete configmaps addon-http-application-routing-nginx-configuration --namespace kube-system
Ripetere il passaggio
kubectl delete
precedente per tutte le risorse addon-http-application-routing rimaste nel cluster.
Passaggi successivi
Dopo la migrazione al componente aggiuntivo di routing dell'applicazione, è possibile trovare informazioni su come monitorare le metriche del controller in ingresso con Prometheus e Grafana.
Azure Kubernetes Service