Migrieren vom HTTP-Anwendungsrouting zum Anwendungsrouting-Add-On
In diesem Artikel erfahren Sie, wie Sie Ihren AKS-Cluster (Azure Kubernetes Service) vom HTTP-Anwendungsroutingfeature zum Anwendungsrouting-Add-On migrieren. Das HTTP-Anwendungsrouting-Add-On wurde eingestellt und funktioniert in keiner Kubernetes-Clusterversion mehr, die derzeit unterstützt wird. Es wird empfohlen, so bald wie möglich eine Migration durchzuführen, um weiterhin eine unterstützte Konfiguration beizubehalten.
Voraussetzungen
- Version 2.54.0 oder höher der Azure CLI installiert und konfiguriert. Führen Sie
az --version
aus, um die Version zu ermitteln. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sie bei Bedarf unter Installieren der Azure CLI. - Installation der Azure CLI-Erweiterung
aks-preview
, Version 0.5.171 oder höher
Hinweis
In diesen Schritten wird die Migration von einer nicht unterstützten Konfiguration beschrieben. Daher kann AKS keine Unterstützung für Probleme anbieten, die während des Migrationsprozesses auftreten.
Aktualisieren der Add-Ons, Eingänge und IP-Nutzung Ihres Clusters
Entfernen Sie das Anwendungsrouting-Add-On.
az aks approuting enable --resource-group <ResourceGroupName> --name <ClusterName>
Ändern Sie Ihre Eingangseinstellung von
ingressClassName
inwebapprouting.kubernetes.azure.com
. Entfernen Sie diekubernetes.io/ingress.class
-Anmerkung. Außerdem müssen Sie einen Host in Ihrem Besitz festlegen, da das Anwendungsrouting-Add-On über keine verwaltete DNS-Clusterzone verfügt. Wenn Sie über keine DNS-Zone verfügen, befolgen Sie die Anweisungen zum Erstellen und Konfigurieren einer Zone.Anfänglich sieht Ihre Eingangskonfiguration in etwa wie folgt aus:
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
Nach der ordnungsgemäßen Aktualisierung sieht dieselbe Konfiguration wie folgt aus:
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
Aktualisieren Sie die IP-Adresse des Eingangsdatencontrollers (z. B. in DNS-Einträgen) auf die neue IP-Adresse. Sie können die neue IP-Adresse mit
kubectl get
ermitteln. Beispiel:kubectl get svc nginx --namespace app-routing-system -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
Deaktivieren Sie das HTTP-Anwendungsrouting-Add-On.
az aks disable-addons --resource-group <ResourceGroupName> --name <ClusterName> --addons http_application_routing
Entfernen und Löschen aller Ressourcen für das HTTP-Anwendungsrouting
Wenn das HTTP-Anwendungsrouting-Add-On deaktiviert ist, verbleiben eventuell einige Kubernetes-Ressourcen im Cluster. Zu diesen Ressourcen zählen configmaps und secrets, die im kube-system-Namespace erstellt werden. Wenn Sie stets einen sauberen Cluster haben möchten, können Sie diese Ressourcen entfernen. Suchen Sie mit den folgenden
kubectl get
-Befehlen nach Ressourcen des Typs addon-http-application-routing:kubectl get deployments --namespace kube-system kubectl get services --namespace kube-system kubectl get configmaps --namespace kube-system kubectl get secrets --namespace kube-system
Die folgende Beispielausgabe zeigt configmaps, die gelöscht werden sollten:
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
Löschen Sie die verbleibenden Ressourcen mit de Befehl „
kubectl delete
“. Stellen Sie sicher, dass Sie den Ressourcentyp, den Ressourcennamen und den Namespace angeben. Das folgende Beispiel löscht eine der vorherigen configMaps:kubectl delete configmaps addon-http-application-routing-nginx-configuration --namespace kube-system
Wiederholen Sie den vorherigen
kubectl delete
-Schritt für alle Ressourcen des Typs addon-http-application-routing, die sich noch in Ihrem Cluster befinden.
Nächste Schritte
Informieren Sie sich nach der Migration zum Anwendungsrouting-Add-On, wie Sie Metriken des Eingangsdatencontrollers mit Prometheus und Grafana überwachen.
Azure Kubernetes Service