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.
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
Gehen Sie auf der Seite für Ihre Azure Kubernetes Fleet Manager-Ressource zum Menü Multicluster-Update und wählen Sie Erstellen.
Wenn Sie Einzeln auswählen, werden alle Mitgliedscluster der Flotte einzeln nacheinander aktualisiert.
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
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:
- Die zweite Methode besteht darin, ein bestehendes Flottenmitglied einer Updategruppe zuzuordnen. Beispiel:
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.
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.
Geben Sie einen Namen für die Updateausführung an, und wählen Sie dann als Updatesequenztyp die Option „Phasen“ aus.
Wählen Sie Phase erstellen aus. Sie können nun den Namen der Stufe und die Dauer der Wartezeit nach jeder Stufe angeben.
Wählen Sie die Updategruppen, die Sie in diese Phase einbeziehen wollen.
Nachdem Sie alle Phase definiert haben, können Sie sie mithilfe der Steuerelemente Nach oben und Nach unten anordnen.
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
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.
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.
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.
Ansatz 2: Sie können zu Update mehrerer Cluster navigieren und auf der Registerkarte Strategie die Option Erstellen auswählen.
Erstellen einer Updateausführung mithilfe einer Updatestrategie: Die von Ihnen erstellte Updatestrategie kann später bei der Erstellung neuer nachfolgender Updateausführungen referenziert werden:
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.
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.
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.
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.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für