Migreren van HTTP-toepassingsroutering naar de invoegtoepassing voor toepassingsroutering
In dit artikel leert u hoe u uw AKS-cluster (Azure Kubernetes Service) migreert van de functie http-toepassingsroutering naar de invoegtoepassing voor toepassingsroutering. De invoegtoepassing http-toepassingsroutering is buiten gebruik gesteld en werkt niet op een Kubernetes-clusterversie die momenteel wordt ondersteund. U wordt aangeraden zo snel mogelijk te migreren om een ondersteunde configuratie te onderhouden.
Vereisten
- Azure CLI versie 2.54.0 of hoger geïnstalleerd en geconfigureerd. Voer
az --version
uit om de versie te bekijken. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren. aks-preview
Azure CLI-extensie van versie 0.5.171 of hoger geïnstalleerd
Notitie
In deze stappen wordt beschreven hoe u migreert vanuit een niet-ondersteunde configuratie. AKS kan daarom geen ondersteuning bieden voor problemen die zich voordoen tijdens het migratieproces.
De invoegtoepassingen, Ingresses en IP-gebruik van uw cluster bijwerken
Schakel de invoegtoepassing voor toepassingsroutering in.
az aks approuting enable --resource-group <ResourceGroupName> --name <ClusterName>
Werk uw Ingresses bij, instelling
ingressClassName
inwebapprouting.kubernetes.azure.com
. Verwijder dekubernetes.io/ingress.class
aantekening. U moet de host ook bijwerken naar een host die u bezit, omdat de invoegtoepassing voor toepassingsroutering geen beheerde cluster-DNS-zone heeft. Als u geen DNS-zone hebt, volgt u de instructies voor het maken en configureren van een zone.In eerste instantie ziet uw toegangsbeheerobjectconfiguratie er ongeveer als volgt uit:
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
Nadat u de configuratie correct hebt bijgewerkt, ziet dezelfde configuratie er als volgt uit:
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
Werk het IP-adres van de ingangscontroller (zoals in DNS-records) bij met het nieuwe IP-adres. U kunt het nieuwe IP-adres vinden met behulp van
kubectl get
. Voorbeeld:kubectl get svc nginx --namespace app-routing-system -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
Schakel de invoegtoepassing http-toepassingsroutering uit.
az aks disable-addons --resource-group <ResourceGroupName> --name <ClusterName> --addons http_application_routing
Alle HTTP-toepassingsrouteringsbronnen verwijderen en verwijderen
Nadat de invoegtoepassing http-toepassingsroutering is uitgeschakeld, blijven sommige gerelateerde Kubernetes-resources mogelijk in uw cluster aanwezig. Deze resources omvatten configuratiekaarten en geheimen die zijn gemaakt in de kube-system-naamruimte . Als u een schoon cluster wilt onderhouden, kunt u deze resources verwijderen. Zoek naar addon-http-application-routing resources met behulp van de volgende
kubectl get
opdrachten:kubectl get deployments --namespace kube-system kubectl get services --namespace kube-system kubectl get configmaps --namespace kube-system kubectl get secrets --namespace kube-system
In de volgende voorbeelduitvoer ziet u configuratiekaarten die moeten worden verwijderd:
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
Verwijder de resterende resources met behulp van de
kubectl delete
opdracht. Zorg ervoor dat u het resourcetype, de resourcenaam en de naamruimte opgeeft. In het volgende voorbeeld wordt een van de vorige configuratiekaarten verwijderd:kubectl delete configmaps addon-http-application-routing-nginx-configuration --namespace kube-system
Herhaal de vorige
kubectl delete
stap voor alle invoegtoepassings-http-application-routing-resources die in uw cluster overblijven.
Volgende stappen
Na de migratie naar de invoegtoepassing voor toepassingsroutering leert u hoe u metrische gegevens van de ingangscontroller kunt bewaken met Prometheus en Grafana.
Azure Kubernetes Service