Freigeben über


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:

  1. 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   
    
  2. 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.

  3. 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:

  1. 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}
    
  2. 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.

  1. 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}
    
  2. 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.