Tutorial: Durchführen eines Upgrades für Kubernetes in Azure Kubernetes Service in Azure Stack HCI und Windows Server

Im Rahmen der Verwaltung des Anwendungs- und Clusterlebenszyklus möchten Sie möglicherweise ein Upgrade auf die neueste verfügbare Version von Kubernetes in Azure Kubernetes Service (AKS) in Azure Stack HCI und Windows Server durchführen.

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 des Hosts von AKS in Azure Stack HCI und Windows Server auf die aktuelle Version
  • Aktualisieren eines Workloadclusters in AKS in Azure Stack HCI und Windows Server auf eine neue Kubernetes-Version
  • Aktualisieren der Containerhosts von AKS in Azure Stack HCI und Windows Server 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.

Vorbereitung

In vorherigen Tutorials haben Sie gelernt, wie Sie eine Anwendung in ein Containerimage packen, es in Azure Container Registry hochladen und einen AKS-Cluster erstellen. Anschließend haben Sie die Anwendung in einem Cluster in AKS in Azure Stack HCI und Windows Server 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 ein Upgrade der PowerShell-Module und des Hosts von AKS in Azure Stack HCI und Windows Server durchführen, 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.

Aktualisieren der Kubernetes-Version eines Workloadclusters: Beispiel

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
    

    Ausgabe

    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:

    PS C:\> Get-AksHciKubernetesVersion
    

    Ausgabe

    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, unter denen die Version verfügbar ist. Sie sehen, dass weitere Upgradeversionen verfügbar sind. Beim Upgrade von Clustern können Sie Versionen jedoch nicht ü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:

    PS C:\> 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.

Ausschließliches Aktualisieren der Betriebssystemversion

Wichtig

Sie können einen Workloadcluster auf eine neuere Betriebssystemversion ohne Änderung der Kubernetes-Version aktualisieren. Dies funktioniert jedoch nur, wenn für die neue Betriebssystemversion keine andere Kubernetes-Version erforderlich ist.

Ausschließliche Aktualisierung des Betriebssystems: Beispiel

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:

    PS C:\> 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:

    PS C:\> 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.

Aktualisieren eines Workloadclusters: Beispiel

Im folgenden Beispiel wird davon ausgegangen, dass eine neue Kubernetes-Version verfügbar ist und die aktuelle Versionsnummer v1.20.7 lautet.

  1. Führen Sie den folgenden Befehl aus, um alle verfügbaren Workloadclusterupdates abzurufen:

    PS C:\> Get-AksHciClusterUpgrades -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:

    PS C:\> Update-AksHciCluster -clusterName 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:

Ausgabe

ProvisioningState     : provisioned
KubernetesVersion     : v1.21.1
NodePools             : linuxnodepool
WindowsNodeCount      : 0
LinuxNodeCount        : 0
ControlPlaneNodeCount : 1
Name                  : mycluster

Löschen des Clusters

Da dieses Tutorial der letzte Teil der Reihe ist, ist es ratsam, den Cluster zu löschen. Führen Sie den Befehl Remove-AksHciCluster aus, um die Ressourcengruppe, den Containerdienst und alle dazugehörigen Ressourcen zu entfernen.

Remove-AksHciCluster -name mycluster

Nächste Schritte

In diesem Tutorial haben Sie Kubernetes in einem Cluster in AKS in Azure Stack HCI und Windows Server aktualisiert. Sie haben Folgendes gelernt:

  • 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 AKS in Azure Stack HCI und Windows Server finden Sie unter Was ist lokales Kubernetes mit Azure Kubernetes Service in Azure Stack HCI und Windows Server? und Clusterarchitektur und -workloads von Kubernetes für Azure Kubernetes Service in Azure Stack HCI und Windows Server.