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.
Azure Kubernetes Service (AKS)-Cluster bestehen aus zwei Hauptkomponenten: der Steuerungsebene, die von Azure verwaltet wird , und den Knotenpools, in denen Ihre Workloads ausgeführt werden. Dieser Artikel konzentriert sich auf das unabhängige Upgrade der Steuerebene, sodass Sie neue Kubernetes-Versionen für API-Serverfeatures einführen können, während Sie Knotenpoolupgrades separat verwalten.
Bevor Sie anfangen
- Bei Verwendung der Azure CLI ist für diesen Artikel Azure CLI-Version 2.34.1 oder höher erforderlich. Verwenden Sie den
az --versionBefehl, um die Version zu finden. Wenn Sie eine Installation oder ein Upgrade durchführen müssen, finden Sie weitere Informationen unter Azure CLI installieren. - Wenn Sie Azure PowerShell verwenden, erfordert dieser Artikel die Azure PowerShell-Version 5.9.0 oder höher. Verwenden Sie das
Get-InstalledModule -Name AzCmdlet, um die Version zu finden. Falls Sie eine Installation oder ein Upgrade ausführen müssen, finden Sie unter Installieren von Azure PowerShell weitere Informationen. - Zum Ausführen von Upgradevorgängen benötigen Sie die Azure Kubernetes Service Mitwirkendenrolle oder gleichwertige Berechtigungen.
- Beta-APIs sind standardmäßig deaktiviert, wenn Sie ein Upgrade auf Kubernetes, Version 1.30 und 1.27 LTS, durchführen.
Warnung
Stellen Sie sicher, dass Sie vor dem Upgrade über ausreichendes Computekontingent verfügen. Wenn das Kontingent niedrig ist, schlägt das Upgrade möglicherweise fehl. Weitere Informationen finden Sie unter Kontingenterhöhung.
Übersicht über AKS-Upgradetypen
In der folgenden Tabelle werden drei Arten von AKS-Upgrades beschrieben, wobei deren Umfang und Anwendungsfälle hervorgehoben werden:
| Upgrade-Typ | Geltungsbereich | Anwendungsfall |
|---|---|---|
| Nur Steuerungsebene | API-Server, etcd, Controller-Manager, Scheduler | Testen neuer Kubernetes-APIs vor dem Upgrade von Workloads |
| Vollständiger Cluster | Steuerungsebene und alle Knotenpools | Standardupgrade, um den Cluster auf dem neuesten Stand zu halten |
| Nur Knotenpool | Bestimmte Knotenpools | Gestaffelter Rollout nach dem Upgrade der Steuerungsebene |
Tipp
Durch das Upgrade der Steuerebene können Sie zunächst die Kubernetes-API-Kompatibilität überprüfen, bevor sie die Ausführung von Workloads beeinträchtigen. Informationen zu Upgrade-Strategien für Knotenpools finden Sie unter Konfigurieren paralleler Upgrades.
Kubernetes-Versionsupgraderegeln
Wenn Sie ein Upgrade eines unterstützten Nicht-LTS AKS-Clusters durchführen, können Sie Kubernetes-Nebenversionen nicht überspringen. Sie müssen alle Upgrades in der Reihenfolge der Unterversionsnummer ausführen. Beispielsweise sind Upgrades zwischen 1.28.x ->1.29.x oder 1.29.x ->1.30.x zulässig. 1.28.x ->1.30.x ist nicht zulässig.
Ein LTS-Cluster kann Nebenversionen überspringen, wenn sie zu einer höheren LTS-Version wechseln, die von AKS angeboten wird, vorausgesetzt, das Upgrade erfüllt versionsverzerrte Anforderungen und Validierungsprüfungen. Weitere Informationen finden Sie unter Kann ich während eines Clusterupgrades mehrere AKS-Versionen überspringen?.
Ab Kubernetes 1.28 kann die Steuerebene bis zu drei Nebenversionen vor Knotenpools sein. Wenn sich ihre Steuerebene beispielsweise auf 1.35.x befindet, können Sich ihre Knotenpools auf 1.32.x, 1.33.x, 1.34.x oder 1.35.x befinden. Aktuelle Einschränkungen finden Sie in der AKS-Versions-Skew-Richtlinie.
Verfügbare AKS-Upgrades überprüfen
Tipp
Wenn Sie mit den neuesten AKS-Versionen und -Updates auf dem neuesten Stand bleiben möchten, lesen Sie die AKS-Versionsverfolgung.
Suchen Sie mithilfe des az aks get-upgrades Befehls nach verfügbaren Kubernetes-Versionen für Ihren AKS-Cluster.
az aks get-upgrades --resource-group <resource-group-name> --name <cluster-name> --output table
Die folgende Beispielausgabe zeigt die aktuelle Version als 1.28.9 an und führt die verfügbaren Versionen unter upgrades auf:
Name ResourceGroup MasterVersion Upgrades
------- --------------- --------------- --------------
default <resource-group-name> 1.28.9 1.29.2, 1.29.4
Aktualisieren Sie nur die AKS-Steuerungsebene
Important
Sie können kein Upgrade nur für die Steuerungsebene ausführen, wenn das automatische Upgrade des Clusters aktiviert ist. Cluster autoupgrade aktualisiert immer die Steuerebene und alle Knotenpools zusammen.
Aktualisieren Sie die Steuerungsebene mithilfe des
az aks upgrade-Befehls mit dem--control-plane-only-Flag. Im folgenden Beispiel wird die Steuerebene auf Kubernetes, Version 1.29.4, aktualisiert:az aks upgrade \ --resource-group <resource-group-name> \ --name <cluster-name> \ --kubernetes-version 1.29.4 \ --control-plane-onlyVergewissern Sie sich, dass das Upgrade der Steuerebene erfolgreich war, indem Sie den
az aks showBefehl verwenden.az aks show --resource-group <resource-group-name> --name <cluster-name> --output tableDie folgende Beispielausgabe zeigt, dass die Steuerebene nun auf 1.29.4 läuft.
Name Location ResourceGroup KubernetesVersion ProvisioningState Fqdn ------------ ---------- --------------- ------------------- ------------------- ------------------------------------------------ <cluster-name> eastus <resource-group-name> 1.29.4 Succeeded <cluster-name>-dns-123abcd4.hcp.eastus.azmk8s.ioÜberprüfen Sie, ob die Knotenpoolversionen mit dem
az aks nodepool listBefehl unverändert bleiben.az aks nodepool list --resource-group <resource-group-name> --cluster-name <cluster-name> --query "[].{Name:name,Version:orchestratorVersion}" --output tableIn der Ausgabe sollten die Knotenpools weiterhin die vorherige Kubernetes-Version anzeigen.
Upgrade des vollständigen AKS-Clusters
Hinweis
Während eines vollständigen Clusterupgrades aktualisiert AKS zuerst die Steuerungsebene und aktualisiert dann jeden Knotenpool sequenziell. Für eine bessere Kontrolle über Knotenpool-Upgrades siehe Konfigurieren von Rolling-Upgrades.
Aktualisieren Sie den vollständigen Cluster (Steuerebene und alle Knotenpools) mithilfe des az aks upgrade Befehls. Im folgenden Beispiel wird der Cluster auf Kubernetes, Version 1.29.4, aktualisiert:
az aks upgrade \
--resource-group <resource-group-name> \
--name <cluster-name> \
--kubernetes-version 1.29.4
AKS-Steuerflugzeugupgrade häufig gestellte Fragen (FAQ)
Aktualisiert ein Upgrade nur für die Steuerungsebene auch Knotenpools?
Nein. Ein Nur-Steuerelement-Upgrade ändert keine Knotenpools. Das automatische Clusterupgrade funktioniert anders: Es unterstützt keine Upgrades nur für die Steuerungsebene und aktualisiert die Steuerungsebene und alle Knotenpools zusammen.
Kann ich Knotenpools vor der Steuerebene aktualisieren?
Nein. Die Steuerebenenversion muss immer gleich oder größer sein als jede Knotenpoolversion. Sie müssen zuerst die Steuerebene aktualisieren.
Wie lange dauert ein Upgrade eines Steuerflugzeugs?
Die Upgradedauer variiert je nach Clusterstatus und Azure Bedingungen. Überwachen provisioningState mit az aks show oder Get-AzAksCluster. Das Upgrade ist abgeschlossen, wenn der Bereitstellungsstatus ist Succeeded.
Beheben von Problemen mit dem Upgrade der Steuerebene
Keine Upgrades verfügbar
Verwenden Sie az aks get-upgrades für einen nicht unterstützten Cluster, um zu überprüfen, ob AKS ein berechtigtes unterstütztes Ziel bietet. Wenn ein Ziel verfügbar ist, führen Sie ein vollständiges Clusterupgrade aus. Nur-Steuerungsupgrades werden für diesen Wiederherstellungspfad nicht unterstützt.
Wenn kein Ziel verfügbar ist, befindet sich Ihr Cluster möglicherweise bereits auf der neuesten unterstützten Version. Wenn der Cluster eine nicht unterstützte Version ausführt, erstellen Sie einen neuen Cluster mit einer unterstützten Version, und migrieren Sie Ihre Workloads.
Fehler beim Upgrade aufgrund veralteter APIs
Überprüfen Sie vor dem Upgrade auf veraltete APIs mithilfe von Tools wie kube-no-trouble (kubent):
kubent
Der Befehl durchsucht Ressourcen, auf die über den aktuellen Kubeconfig-Kontext zugegriffen werden kann, nach veralteten Kubernetes-API-Versionen. Die Ausgabe gruppiert Ergebnisse von Kubernetes-Version und identifiziert jede betroffene Ressource durch KIND, NAMESPACE, , NAMEund API_VERSION. Aktualisieren Sie das Quellmanifest für jede aufgelistete Ressource, um vor dem Upgrade eine unterstützte API-Version zu verwenden.