Aktualisieren von Kubernetes und Knotenimages über mehrere Cluster hinweg mithilfe von Azure Kubernetes Fleet Manager

Plattformadministratoren, die eine große Anzahl von Clustern verwalten, haben oft Probleme, die Updates mehrerer Cluster (z. B. das Upgrade von Knotenbetriebssystemimages oder Kubernetes-Versionen) auf sichere und vorhersehbare Weise durchzuführen. Um diese Herausforderung zu bewältigen, ermöglicht Ihnen Azure Kubernetes Fleet Manager (Fleet) die Orchestrierung von Updates über mehrere Cluster hinweg mithilfe von Updateausführungen.

Updateausführungen bestehen aus Phasen, Gruppen und Strategien und können manuell für einmalige Updates oder automatisch für fortlaufende regelmäßige Updates unter Verwendung von Auto-Upgrade-Profilen angewendet werden. Bei allen Updateausführungen (manuell oder automatisch) werden die Wartungsfenster für Mitgliedercluster berücksichtigt.

In diesem Handbuch wird beschrieben, wie Updateausführungen konfiguriert und manuell ausgeführt werden.

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 dieser Anleitung 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.

  • 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.58.0 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 Befehl az extension update aus, um auf die neueste Version der veröffentlichten Erweiterung zu aktualisieren:

    az extension update --name fleet
    

Erstellen von Updateausführungen

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 Clusterupgradesequenz:

  • Nacheinander: Wenn Sie die Reihenfolge der Cluster-Upgrades nicht kontrollieren möchten, bietet one-by-one eine einfache Möglichkeit, alle Mitgliedscluster der Flotte nacheinander zu aktualisieren.
  • Steuerungssequenz von Clustern mithilfe von Updategruppen und Phasen: Wenn Sie die Clusterupgradesequenz steuern möchten, können Sie Membercluster in Updategruppen und Updatephasen strukturieren. Sie können diese Sequenz als Vorlage in Form von Updatestrategie speichern. Sie können Updateausführungen später mithilfe der Updatestrategien erstellen, anstatt die Sequenz jedes Mal zu definieren, wenn Sie eine Updateausführung erstellen müssen.

Alle Cluster nacheinander aktualisieren

  1. Navigieren Sie im Azure-Portal zu Ihrer Azure Kubernetes Fleet Manager-Ressource.

  2. Wählen Sie im Dienstmenü unter Einstellungen Multiclusterupdate>Erstellen einer Ausführung aus.

  3. Geben Sie einen Namen für die Updateausführung ein, und wählen Sie dann Nacheinander für den Upgradetyp aus.

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

  4. Wählen Sie eine der folgenden Optionen für den Upgradebereich aus:

    • Kubernetes-Version für Steuerungsebene und Knotenpools
    • Kubernetes-Version nur für die Steuerungsebene des Clusters
    • Nur Knotenimageversion
  5. Wählen Sie eine der folgenden Optionen für das Knotenbildaus:

    • Letztes Bild: Aktualisiert jeden AKS-Cluster im Updateausführung auf das neueste Bild, das für diesen Cluster in seiner Region verfügbar ist.
    • Konsistentes Bild: Da es möglich ist, dass ein Updateausführung 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.

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

  6. Klicken Sie auf Erstellen, um die Updateausführung zu erstellen.

Zuweisen von Clustern zum Aktualisieren von Gruppen und Phasen

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.

Sie können einen Mitgliedscluster einer bestimmten Updategruppe auf zwei Arten zuweisen:

Zuweisen zur Gruppe beim Hinzufügen eines Mitgliedsclusters zur Flotte

  1. Navigieren Sie im Azure-Portal zu Ihrer Azure Kubernetes Fleet Manager-Ressource.

  2. Wählen Sie im Dienstmenü unter Einstellungen Mitgliedscluster>Hinzufügen aus.

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

  3. Wählen Sie den Cluster aus, den Sie hinzufügen möchten, und wählen Sie dann Weiter: Überprüfen + Hinzufügen.

  4. Geben Sie den Namen der Updategruppe ein, der Sie den Cluster zuweisen möchten, und wählen Sie dann Hinzufügen aus.

Zuweisen eines vorhandenen Flottenmitglieds zu einer Updategruppe

  1. Navigieren Sie im Azure-Portal zu Ihrer Azure Kubernetes Fleet Manager-Ressource.

  2. Wählen Sie im Dienstmenü unter Einstellungen Mitgliedscluster aus.

  3. Wählen Sie den Cluster oder die Cluster aus, den/die Sie einer Updategruppe zuweisen möchten, und wählen Sie dann Updategruppe zuweisen

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

  4. Geben Sie den Namen der Updategruppe ein, der Sie den Cluster zuweisen möchten, und wählen Sie dann Zuweisen aus.

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

Hinweis

Ein Flottenmitglied kann nur Teil einer Updategruppe sein, aber eine Updategruppe kann mehrere Flottenmitglieder zugewiesen haben. 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 im Azure-Portal zu Ihrer Azure Kubernetes Fleet Manager-Ressource.

  2. Wählen Sie im Dienstmenü unter Einstellungen Multiclusterupdate>Erstellen einer Ausführung aus.

  3. Geben Sie einen Namen für die Updateausführung ein, und wählen Sie dann Phasen für den Updatesequenztyp aus.

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

  4. Wählen Sie Phase erstellen aus, und geben Sie dann einen Namen für die Phase und die Wartezeit zwischen den Phasen ein.

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

  5. Wählen Sie die Updategruppen, die Sie in diese Phase einbeziehen wollen. Sie können auch die Reihenfolge der Updategruppen angeben, wenn Sie sie in einer bestimmten Reihenfolge aktualisieren möchten. Wählen Sie Erstellen, wenn Sie fertig sind.

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

  6. Wählen Sie eine der folgenden Optionen für den Upgradebereich aus:

    • Kubernetes-Version für Steuerungsebene und Knotenpools
    • Kubernetes-Version nur für die Steuerungsebene des Clusters
    • Nur Knotenimageversion
  7. Wählen Sie eine der folgenden Optionen für das Knotenbildaus:

    • Letztes Bild: Aktualisiert jeden AKS-Cluster im Updateausführung auf das neueste Bild, das für diesen Cluster in seiner Region verfügbar ist.
    • Konsistentes Bild: Da es möglich ist, dass ein Updateausführung 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.

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

  8. Klicken Sie auf Erstellen, um die Updateausführung zu 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.

  9. Wählen Sie im Menü Multiclusterupdate die Updateausführung aus, und wählen Sie dann Start aus.

Erstellen eines Updatelaufs mithilfe von Updatestrategien

Zum Erstellen einer Aktualisierungsausführung müssen Sie die Phasen, Gruppen, die Reihenfolge jedes Mal angeben. 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.

Sie können eine Updatestrategie mit einer der folgenden Methoden erstellen:

Speichern Sie eine Updatestrategie beim Erstellen eines Updatelaufs

  • Speichern einer Updatestrategie beim Erstellen einer Updateausführung mithilfe des Azure-Portals:

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

Erstellen Sie eine neue Updatestrategie, und verweisen Sie dann beim Erstellen eines Updates darauf

  1. Navigieren Sie zur Seite Multiclusterupdate und wählen Sie dann Strategien>Strategie erstellen:

    Screenshot: Erstellung einer Updatestrategie im Azure-Portal

  2. Konfigurieren Sie die Details der Updatestrategie, und wählen Sie dann Erstellen aus.

  3. Verweisen Sie beim Erstellen neuer nachfolgenden Updates auf die Updatestrategie:

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

Verwalten einer Updateausführung

In den folgenden Abschnitten wird erläutert, wie Sie eine Updateausführung mithilfe des Azure-Portals und der Azure CLI verwalten.

  • Auf der Seite Multiclusterupdates der Flottenressource können Sie Starten einer Updateausführung, die entweder in Nicht gestartet oder Status Fehlgeschlagen:

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

  • Auf der Seite 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.

Nächste Schritte

Erfahren Sie mehr über Azure Kubernetes Fleet Manager.