Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel erfahren Sie, wie Sie Ihren Azure Kubernetes Service (AKS)-Cluster von der HTTP-Anwendungsroutingfunktion zum Anwendungsrouting-Add-On migrieren. Das HTTP-Anwendungsrouting-Add-On wurde eingestellt und funktioniert in keiner Cluster-Kubernetes-Version, die derzeit unterstützt wird. Es wird empfohlen, so bald wie möglich eine Migration durchzuführen, um eine unterstützte Konfiguration beizubehalten.
Prerequisites
- Azure CLI Version 2.54.0 oder höher installiert und konfiguriert. Führen Sie
az --versionaus, um die Version zu ermitteln. Wenn Sie eine Installation oder ein Upgrade durchführen müssen, finden Sie weitere Informationen unter Azure CLI installieren. -
aks-previewAzure CLI-Erweiterung der Version 0.5.171 oder höher installiert
Note
In diesen Schritten wird die Migration von einer nicht unterstützten Konfiguration beschrieben. Daher kann AKS keine Unterstützung für Probleme bieten, die während des Migrationsprozesses auftreten.
Aktualisieren der Add-Ons, Eingänge und IP-Nutzung Ihres Clusters
Aktivieren Sie das Anwendungsrouting-Add-On.
az aks approuting enable --resource-group <ResourceGroupName> --name <ClusterName>Aktualisieren Sie Ihre Ingresses, und setzen Sie
ingressClassNameaufwebapprouting.kubernetes.azure.com. Entfernen Sie diekubernetes.io/ingress.classAnmerkung. Außerdem müssen Sie den Host auf einen host aktualisieren, den Sie besitzen, da das Anwendungsrouting-Add-On keine verwaltete Cluster-DNS-Zone besitzt. Wenn Sie nicht über eine DNS-Zone verfügen, befolgen Sie die Anweisungen zum Erstellen und Konfigurieren einer Zone.Zunächst sieht Ihre Eingangskonfiguration ungefähr 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: 80Nachdem Sie ordnungsgemäß aktualisiert haben, sieht die gleiche 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: - host: aks-helloworld.<CLUSTER_SPECIFIC_DNS_ZONE> # Replace with your own hostname http: paths: - path: / pathType: Prefix backend: service: name: aks-helloworld port: number: 80Aktualisieren Sie die IP-Adresse des Ingress-Controllers (z. B. in DNS-Einträgen) mit der neuen IP-Adresse. Sie können die neue IP mit
kubectl getfinden. 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 HTTP-Anwendungsroutingressourcen
Nachdem das HTTP-Anwendungsrouting-Add-On deaktiviert wurde, verbleiben möglicherweise einige zugehörige Kubernetes-Ressourcen in Ihrem Cluster. Zu diesen Ressourcen gehören Configmaps und geheime Schlüssel , die im Kube-System-Namespace erstellt werden. Um einen sauberen Cluster zu verwalten, können Sie diese Ressourcen entfernen. Suchen Sie mithilfe der folgenden Befehle nach
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-systemDie folgende Beispielausgabe zeigt Configmaps , die gelöscht werden sollen:
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 9m7sLöschen Sie verbleibende Ressourcen mithilfe des
kubectl deleteBefehls. Stellen Sie sicher, dass Sie den Ressourcentyp, den Ressourcennamen und den Namespace angeben. Im folgenden Beispiel wird eine der vorherigen Configmaps gelöscht:kubectl delete configmaps addon-http-application-routing-nginx-configuration --namespace kube-systemWiederholen Sie den vorherigen
kubectl deleteSchritt für alle addon-http-application-routing-Ressourcen , die im Cluster verbleiben.
Nächste Schritte
Nach der Migration zum Anwendungsrouting-Add-On erfahren Sie, wie Sie Die Ingress-Controllermetriken mit Prometheus und Grafana überwachen.