Freigeben über


Orchestrierung von Aktualisierungen über mehrere Cluster hinweg mithilfe von Azure Kubernetes Fleet Manager

Plattformadministrator*innen, die Kubernetes-Flotten mit einer großen Anzahl von Clustern verwalten, haben häufig Probleme, in mehreren Clustern ein sicheres und vorhersagbares Staging für Updates durchzuführen. Dieses Problem können Sie umgehen, indem Sie Updates mit Kubernetes Fleet Manager (Flotte) in mehreren Clustern mithilfe von Updateausführungen, -stages, -gruppen und -strategien orchestrieren.

Screenshot des Azure-Portalbereichs für eine Flottenressource mit Kubernetes-Memberclusterversionen und Knotenimages, die in allen Knotenpools von Mitgliedsclustern verwendet werden.

Voraussetzungen

  • Lesen Sie die konzeptionelle Übersicht über dieses Feature mit Erläuterungen zu Updatestrategien, -ausführungen, -stages und -gruppen, auf die in diesem Dokument verwiesen wird.

  • Sie müssen eine Flottenressource mit einem oder mehreren Mitgliedsclustern haben. Falls nicht, folgen Sie dem Schnellstart, um eine Fleet-Ressource zu erstellen und Azure Kubernetes Service-Cluster (AKS) als Mitglieder aufzunehmen. In diesem Durchgang wird eine Flottenressource mit fünf AKS-Mitgliedsclustern als Beispiel demonstriert.

  • Legen Sie die folgenden Umgebungsvariablen fest:

    export GROUP=<resource-group>
    export FLEET=<fleet-name>
    
  • Wenn Sie die Azure CLI-Anweisungen in diesem Artikel befolgen, müssen Sie Azure CLI Version 2.53.1 oder höher installiert haben. Informationen zum Ausführen einer Installation oder eines Upgrades finden Sie unter Installieren der Azure-Befehlszeilenschnittstelle.

  • Sie benötigen außerdem die fleet Azure CLI-Erweiterung, die Sie mit folgendem Befehl installieren können:

    az extension add --name fleet
    

    Führen Sie den folgenden Befehl aus, um ein Update auf die neueste veröffentlichte Version der Erweiterung durchzuführen:

    az extension update --name fleet
    

Hinweis

Update führt geplante Wartungsfenster aus, die Sie auf AKS-Clusterebene festlegen. Weitere Informationen finden Sie unter Geplante Wartung über mehrere Mitgliedscluster hinweg. In diesem Artikel wird erläutert, wie Updateausführungen Mitgliedscluster behandeln, die mit geplanten Wartungsfenstern konfiguriert wurden.

Die Updateausführung unterstützt zwei Optionen für die Reihenfolge, in der die Cluster aktualisiert werden:

  • Einzeln: Wenn Sie die Reihenfolge, in der die Cluster aktualisiert werden, nicht steuern möchten, bietet one-by-one einen einfachen Ansatz, um alle Mitgliedscluster der Flotte nacheinander zu aktualisieren.
  • Reihenfolge der Cluster mithilfe von Updategruppen und -phasen steuern: Wenn Sie die Reihenfolge, in der die Cluster aktualisiert werden, steuern möchten, können Sie Mitgliedscluster in Updategruppen und -phasen strukturieren. Darüber hinaus kann diese Sequenz als Vorlage in Form einer Updatestrategie gespeichert werden. Updateausführungen können später anhand von Updatestrategien erstellt werden, anstatt die Reihenfolge jedes Mal zu definieren, wenn eine Updateausführung basierend auf Phasen erstellt werden muss.

Alle Cluster nacheinander aktualisieren

  1. Gehen Sie auf der Seite für Ihre Azure Kubernetes Fleet Manager-Ressource zum Menü Multicluster-Update und wählen Sie Erstellen.

  2. Wenn Sie Einzeln auswählen, werden alle Mitgliedscluster der Flotte einzeln nacheinander aktualisiert.

    Screenshot des Azure-Portalbereichs zum Erstellen von Updates wird ausgeführt, die Cluster einzeln in Azure Kubernetes Fleet Manager aktualisieren.

  3. Für Upgradebereichkönnen Sie eine der folgenden drei Optionen auswählen:

    • Kubernetes-Version für Steuerungsebene und Knotenpools
    • Kubernetes-Version nur für die Steuerungsebene des Clusters
    • Nur Knotenimageversion

    Screenshot des Azure-Portalbereichs zum Erstellen von Updates. Der Abschnitt

    Für das Knotenbild stehen folgende Optionen zur Verfügung:

    • Letzte: Aktualisiert jeden AKS-Cluster im Updatelauf auf das neueste Imagev, das für diesen Cluster in seiner Region verfügbar ist.
    • Konsistent: Da es möglich ist, dass ein Updatelauf AKS-Cluster in mehreren Regionen hat, in denen die neuesten verfügbaren Knoten-Images unterschiedlich sein können (siehe Release Rracker für weitere Informationen). Der Updatelauf wählt das letzte gemeinsame Bild für alle diese Regionen aus, um Konsistenz zu erreichen.

Aktualisieren von Clustern in einer bestimmten Reihenfolge

Updategruppen und -stufen bieten mehr Kontrolle über die Reihenfolge der Updateläufe bei der Aktualisierung von Clustern. Innerhalb einer Aktualisierungsphase werden Updates parallel auf alle verschiedenen Updategruppen angewendet; innerhalb einer Updategruppe werden Mitgliedercluster sequenziell aktualisiert.

Zuweisung eines Clusters zu einer Updategruppe

Sie können einen Mitgliedscluster auf zwei Arten einer bestimmten Updategruppe zuordnen.

  • Zuweisen zur Gruppe beim Hinzufügen eines Mitgliedsclusters zur Flotte. Beispiel:
  1. Gehen Sie auf der Seite für Ihre Azure Kubernetes Fleet Manager-Ressource zu Mitgliedercluster.

    Screenshot der Azure-Portalseite für Azure Kubernetes Fleet Manager-Mitgliedercluster.

  2. Geben Sie die Updategruppe an, zu der der Mitgliedscluster gehören soll.

    Screenshot der Azure-Portalseite zum Hinzufügen von Mitgliedsclustern zum Azure Kubernetes Fleet Manager und Zuweisen dieser Cluster zu Gruppen.

  • Die zweite Methode besteht darin, ein bestehendes Flottenmitglied einer Updategruppe zuzuordnen. Beispiel:
  1. Navigieren Sie auf der Seite für Ihre Azure Kubernetes Fleet Manager-Ressource zu Mitgliedercluster. Wählen Sie die gewünschten Mitgliedscluster aus und wählen Sie dann Updategruppe zuweisen.

    Screenshot: Seite im Azure-Portal zum Zuweisen von vorhandenen Mitgliedsclustern zu einer Gruppe.

  2. Geben Sie den Gruppennamen an und wählen Sie dann Zuweisen.

    Screenshot: Seite im Azure-Portal für Mitgliedscluster, auf der das Formular zum Aktualisieren der Gruppe eines Mitgliedsclusters angezeigt wird.

Hinweis

Jedes Flottenmitglied kann nur Teil einer Updategruppe sein, aber eine Updategruppe kann mehrere Flottenmitglieder enthalten. Eine Updategruppe selbst ist kein eigener Ressourcentyp. Updategruppen sind nur Zeichenfolgen, die Verweise von den Flottenmitgliedern darstellen. Wenn also alle Flottenmitglieder, die auf eine gemeinsame Aktualisierungsgruppe verweisen, gelöscht werden, wird auch diese spezielle Updategruppe nicht mehr existieren.

Definieren Sie einen Updatealuf und Stufen

Sie können eine Updateausführung mithilfe von Updatestages definieren, um die Anwendung von Updates auf verschiedene Updategruppen sequenziell zu ordnen. Beispielsweise kann eine erste Updatephase Mitgliedscluster der Testumgebung aktualisieren, und eine zweite Updatephase würde dann Mitgliedscluster der Produktionsumgebung aktualisieren. Sie können auch eine Wartezeit zwischen den Updatephasen angeben.

  1. Navigieren Sie auf der Seite für Ihre Azure Kubernetes Fleet Manager-Ressource zu Update mehrerer Cluster. Wählen Sie auf der Registerkarte Ausführungen die Option Erstellen aus.

  2. Geben Sie einen Namen für die Updateausführung an, und wählen Sie dann als Updatesequenztyp die Option „Phasen“ aus.

    Screenshot: Azure-Portalseite zum Auswählen des Phasenmodus innerhalb der Updateausführung

  3. Wählen Sie Phase erstellen aus. Sie können nun den Namen der Stufe und die Dauer der Wartezeit nach jeder Stufe angeben.

    Screenshot: Seite im Azure-Portal zum Erstellen einer Phase und zum Definieren einer Wartezeit.

  4. Wählen Sie die Updategruppen, die Sie in diese Phase einbeziehen wollen.

    Screenshot: Seite im Azure-Portal zum Erstellen von Phasen, auf der die Auswahl von Upgradegruppen angezeigt wird.

  5. Nachdem Sie alle Phase definiert haben, können Sie sie mithilfe der Steuerelemente Nach oben und Nach unten anordnen.

  6. Für Upgradebereichkönnen Sie eine der folgenden drei Optionen auswählen:

    • Kubernetes-Version für Steuerungsebene und Knotenpools
    • Kubernetes-Version nur für die Steuerungsebene des Clusters
    • Nur Knotenimageversion

    Screenshot des Azure-Portalbereichs zum Erstellen von Updates. Der Abschnitt

    Für das Knotenbild stehen folgende Optionen zur Verfügung:

    • Letzte: Aktualisiert jeden AKS-Cluster im Updatelauf auf das neueste Imagev, das für diesen Cluster in seiner Region verfügbar ist.
    • Konsistent: Da es möglich ist, dass ein Updatelauf AKS-Cluster in mehreren Regionen hat, in denen die neuesten verfügbaren Knoten-Images unterschiedlich sein können (siehe Release Rracker für weitere Informationen). Der Updatelauf wählt das letzte gemeinsame Bild für alle diese Regionen aus, um Konsistenz zu erreichen.
  7. Klicken Sie zum Erstellen der Updateausführung unten auf der Seite auf Erstellen. Das Angeben von Phasen und deren Reihenfolge bei jeder Erstellung einer Updateausführung kann sich wiederholen und ist mühsam. Updatestrategien vereinfachen diesen Prozess, indem Sie Vorlagen für Updateausführungen speichern können. Weitere Informationen finden Sie unter Erstellen eines Updatelaufs mithilfe von Updatestrategien.

  8. Wählen Sie im Menü In mehreren Clustern aktualisieren die Updateausführung und dann Starten aus.

Erstellen eines Updatelaufs mithilfe von Updatestrategien

Bei der Erstellung einer Updateausführung mussten jedes Mal die Phasen, Gruppen und ihre Reihenfolge angegeben werden. Updatestrategien vereinfachen diesen Prozess, indem Sie Vorlagen für Updateausführungen speichern können.

Hinweis

Es ist möglich, mehrere Updateläufe mit eindeutigen Namen aus derselben Updatestrategie zu erstellen.

Erstellen einer Updatestrategie: Es gibt zwei Möglichkeiten zum Erstellen einer Updatestrategie:

  • Ansatz 1: Sie können eine Updatestrategie beim Erstellen einer Updateausführung speichern.

    Screenshot des Azure-Portals mit Aktualisierungsausführungsphasen, die als Updatestrategie gespeichert werden.

  • Ansatz 2: Sie können zu Update mehrerer Cluster navigieren und auf der Registerkarte Strategie die Option Erstellen auswählen.

    Screenshot: Erstellung einer Updatestrategie im Azure-Portal

Erstellen einer Updateausführung mithilfe einer Updatestrategie: Die von Ihnen erstellte Updatestrategie kann später bei der Erstellung neuer nachfolgender Updateausführungen referenziert werden:

Screenshot des Azure-Portals mit der Erstellung eines neuen Updatelaufs. Die Schaltfläche

Verwalten einer Updateausführung

Es gibt einige Optionen zum Verwalten von Updateausführungen:

  • Auf der Registerkarte Update mehrerer Cluster der Flottenressource können Sie eine Updateausführung im Zustand Nicht gestartet oder Fehlerhaft über die Schaltfläche Starten starten.

    Screenshot: Starten einer Updateausführung im Zustand „Nicht gestartet“ im Azure-Portal

  • Auf der Registerkarte Update mehrerer Cluster der Flottenressource können Sie eine Updateausführung, die sich derzeit im Zustand Wird ausgeführt befindet, über die Schaltfläche Beenden beenden.

    Screenshot: Beenden einer Updateausführung im Zustand „Wird ausgeführt“ im Azure-Portal

  • Innerhalb einer Updateausführung im Zustand Nicht gestartet, Fehlerhaft oder Wird ausgeführt können Sie eine beliebige Phase auswählen und das Upgrade überspringen.

    Screenshot: Überspringen eines Upgrades für eine bestimmte Phase in einer Updateausführung Azure-Portal

    Analog dazu können Sie auch das Upgrade auf Updategruppen- oder Mitgliedsclusterebene überspringen.

    Weitere Informationen finden Sie unter Status der Updateausführung für Ausführungen/Phasen/Gruppen.