Lernprogramm: Aktualisieren von Kubernetes in AKS, die von Azure Arc aktiviert sind
Gilt für: AKS auf Azure Stack HCI 22H2, AKS unter Windows Server
Im Rahmen der Verwaltung des Anwendungs- und Clusterlebenszyklus sollten Sie ein Upgrade auf die neueste verfügbare Version von Kubernetes durchführen, wenn Sie AKS verwenden, die von Azure Arc aktiviert sind.
In diesem Tutorial (Teil 7 von 7) wird beschrieben, wie ein Upgrade für einen Kubernetes-Cluster durchgeführt wird. Sie lernen Folgendes:
- Identifizieren der aktuellen und verfügbaren Kubernetes-Versionen
- Aktualisieren der Kubernetes-Version von Kubernetes-Knoten
- Aktualisieren der Betriebssystemversion von Kubernetes-Knoten
- Aktualisieren eines Kubernetes-Clusters auf die neueste Version
- Überprüfen des erfolgreichen Upgrades
- Entfernen eines Kubernetes-Clusters
Welche Aktualisierungsoptionen sind verfügbar?
Es gibt mehrere Arten von Updates, die unabhängig voneinander und in bestimmten unterstützten Kombinationen durchgeführt werden können:
- Aktualisieren Sie den AKS-Host auf die neueste Version.
- Aktualisieren Sie einen AKS-Workloadcluster auf eine neue Kubernetes-Version.
- Aktualisieren Sie die AKS-Containerhosts auf eine neuere Version des Betriebssystems.
- Kombiniertes Update von Betriebssystem und Kubernetes-Version
Alle Updates werden in einem parallelen Flow durchgeführt, um Ausfälle bei der Verfügbarkeit von Workloads zu vermeiden. Wenn ein neuer Kubernetes-Workerknoten mit einem neueren Build in den Cluster integriert wird, werden die Ressourcen vom alten Knoten auf den neuen Knoten verschoben. Anschließend wird der alte Knoten außer Betrieb genommen und aus dem Cluster entfernt.
In den Beispielen in diesem Tutorial wird vorausgesetzt, dass der Workloadcluster mycluster
derzeit Kubernetes-Version 1.18.8 entspricht und über eine Betriebssystemversion verfügt, die älter ist als 30 Tage.
Voraussetzungen
In früheren Lernprogrammen haben Sie gelernt, wie Sie eine Anwendung in ein Containerimage verpacken, in die Azure-Containerregistrierung hochladen und einen Kubernetes-Cluster erstellen. Anschließend haben Sie die Anwendung im Cluster bereitgestellt. Wenn Sie diese Schritte nicht ausgeführt haben, beginnen Sie mit Tutorial 1: Erstellen von Containerimages.
Aktualisieren der Kubernetes-Version eines Workloadclusters
Sie müssen zuerst die PowerShell-Module und den AKS-Host aktualisieren, bevor Sie die Kubernetes-Version aktualisieren.
Wichtig
Das Aktualisieren eines Workloadclusters auf eine neuere Version von Kubernetes funktioniert nur, wenn die Kubernetes-Zielversion von der aktuellen Betriebssystemversion unterstützt wird. Überprüfen Sie mit dem Befehl Get-AksHciUpdates
die unterstützten Kombinationen von Betriebssystem- und Kubernetes-Version.
Führen Sie die folgenden Schritte aus, um die Kubernetes-Version zu aktualisieren:
Führen Sie den folgenden Befehl aus, um die aktuelle Version Ihres Workloadclusters abzurufen:
Get-AksHciCluster
ProvisioningState : provisioned KubernetesVersion : v1.20.7 NodePools : linuxnodepool WindowsNodeCount : 0 LinuxNodeCount : 0 ControlPlaneNodeCount : 1 Name : mycluster
Führen Sie den folgenden Befehl aus, um die verfügbaren Kubernetes-Versionen abzurufen:
Get-AksHciKubernetesVersion
OrchestratorType OrchestratorVersion OS IsPreview ---------------- ------------------- -- --------- Kubernetes v1.19.9 Linux False Kubernetes v1.19.11 Linux False Kubernetes v1.20.5 Linux False Kubernetes v1.20.7 Linux False Kubernetes v1.21.1 Linux False Kubernetes v1.19.9 Windows False Kubernetes v1.19.11 Windows False Kubernetes v1.20.5 Windows False Kubernetes v1.20.7 Windows False Kubernetes v1.21.1 Windows False
Die Ausgabe zeigt die Kubernetes-Versionen und Betriebssysteme an, auf denen die Version verfügbar ist. Sie sehen, dass weitere Upgradeversionen verfügbar sind. Beim Upgrade von Clustern können Sie jedoch keine Versionen überspringen. Das Upgrade von v1.18.xx auf v1.19.xx ist beispielsweise zulässig, das Upgrade von v1.18.xx auf v1.20.xx jedoch nicht.
Initiieren des Updates der Kubernetes-Version
Führen Sie den folgenden Befehl aus, um die Kubernetes-Version zu aktualisieren:
Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
Hinweis
Dieser Befehl aktualisiert nur die vorhandenen Clusterknoten im Workloadcluster
mycluster
auf die neue Version von Kubernetes.
Aktualisieren nur der Betriebssystemversion
Wichtig
Sie können einen Workloadcluster auf eine neuere Version des Betriebssystems aktualisieren, ohne die Kubernetes-Version zu ändern. Dies funktioniert jedoch nur, wenn die neue Betriebssystemversion keine andere Kubernetes-Version erfordert.
Verwenden Sie die Schritte im folgenden Beispiel, um die Betriebssystemversion zu aktualisieren:
Führen Sie den folgenden Befehl aus, um verfügbare Workloadclusterupdates abzurufen:
Get-AksHciClusterUpdates -name mycluster
details kubernetesversion operatingsystemversion ------- ----------------- ---------------------- This is a patch kubernetes upgrade. (i.e v1.1.X to v1.1.Y) v1.19.9 @{mariner=April 2021; windows=April 2021} This is a minor kubernetes upgrade. (i.e v1.X.1 to v1.Y.1) v1.20.5 @{mariner=April 2021; windows=April 2021}
Führen Sie den folgenden Befehl aus, um die Aktualisierung der Betriebssystemversion zu initiieren:
Update-AksHciCluster -clusterName mycluster -kubernetesVersion v1.21.1 -operatingSystem
Aktualisieren der Betriebssystemversion und der Kubernetes-Version
Wichtig
Das Aktualisieren eines Workloadclusters auf eine neuere Betriebssystem- und Kubernetes-Version wird unterstützt.
Im folgenden Beispiel wird davon ausgegangen, dass eine neue Kubernetes-Version verfügbar ist, und die aktuelle Versionsnummer ist v1.20.7.
Führen Sie den folgenden Befehl aus, um alle verfügbaren Workloadclusterupdates abzurufen:
Get-AksHciClusterUpdates -name mycluster
details kubernetesversion operatingsystemversion ------- ----------------- ---------------------- This is a patch kubernetes upgrade. (i.e v1.1.X to v1.1.Y) v1.19.9 @{mariner=April 2021; windows=April 2021} This is a minor kubernetes upgrade. (i.e v1.X.1 to v1.Y.1) v1.20.5 @{mariner=April 2021; windows=April 2021}
Führen Sie den folgenden Befehl aus, um das Workloadclusterupdate zu initiieren:
Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
Überprüfen eines Upgrades
Überprüfen Sie mithilfe des Befehls Get-AksHciCluster wie folgt, ob das Upgrade erfolgreich durchgeführt wurde:
Get-AksHciCluster -name mycluster
Die folgende Beispielausgabe zeigt, dass der Cluster KubernetesVersion v1.21.1 ausführt:
ProvisioningState : provisioned
KubernetesVersion : v1.21.1
NodePools : linuxnodepool
WindowsNodeCount : 0
LinuxNodeCount : 0
ControlPlaneNodeCount : 1
Name : mycluster
Löschen des Clusters
Da dieses Lernprogramm der letzte Teil der Reihe ist, können Sie den Cluster löschen. Verwenden Sie den Befehl "Remove-AksHciCluster ", um die Ressourcengruppe, den Containerdienst und alle zugehörigen Ressourcen zu entfernen:
Remove-AksHciCluster -name mycluster
Nächste Schritte
In diesem Lernprogramm haben Sie Kubernetes in einem Kubernetes-Cluster auf AKS aktualisiert, die von Arc aktiviert sind. Sie haben gelernt, wie Sie:
- Identifizieren der aktuellen und verfügbaren Kubernetes-Versionen
- Aktualisieren der Kubernetes-Version von Kubernetes-Knoten
- Aktualisieren der Betriebssystemversion von Kubernetes-Knoten
- Aktualisieren eines Kubernetes-Clusters auf die neueste Version
- Überprüfen des erfolgreichen Upgrades
Weitere Informationen zu von Azure Arc aktivierten AKS finden Sie in der AKS-Übersicht und in Clustern und Workloads.