In diesem Dokument wird beschrieben, wie Sie GKE-Clusterupgrades mit Roll-out-Sequenzierung verwalten. Weitere Informationen zur Funktionsweise dieser Funktion finden Sie unter Clusterupgrades mit Roll-out-Sequenzierung.
Verwenden Sie die Roll-out-Sequenzierung mit benutzerdefinierten Phasen, wenn Sie eine Umgebung zum ersten Mal konfigurieren.
Hinweis
-
Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:
gcloud initWenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
- Prüfen Sie, ob bereits Autopilot- oder Standardcluster vorhanden sind. Informationen zum Erstellen eines neuen Clusters finden Sie unter Autopilot-Cluster erstellen.
- Achten Sie darauf, dass die erforderlichen APIs für Flotten aktiviert sind. Diese APIs müssen in Ihren Flotten-Hostprojekten aktiviert sein, um eine beliebige Art von Roll-out-Sequenz zu erstellen.
- Für eine Terraform-Anleitung benötigen Sie die Version 5.13.0 oder höher des Anbieters
google.
Erforderliche Rollen
Wenn Sie eine Rollout-Sequenz erstellen oder ändern möchten, benötigen Sie die IAM-Rolle roles/gkehub.editor für jedes Projekt in der Rollout-Sequenz. Die Rolle Fleet Editor (früher GKE Hub Editor) bietet die Berechtigungen gkehub.features.create und gkehub.fleet.update, die für den Zugriff auf und die Änderung von flottenbezogenen Ressourcen zwischen Projekten erforderlich sind. Diese Rolle bietet die erforderlichen Berechtigungen, um die Upgradestrategie zu definieren, auf relevante Ressourcen zuzugreifen und diese zu ändern sowie den Roll-out-Prozess zu starten und zu verwalten.
Wenn Sie Cluster bei einer Flotte registrieren oder die Registrierung aufheben möchten, benötigen Sie alle folgenden Berechtigungen:
- Berechtigungen zur Clusterregistrierung in Ihren Flotten-Hostprojekten
- Cluster-Administratorberechtigungen für alle zu registrierenden GKE-Cluster.
- Projektübergreifende Berechtigungen zur Clusterregistrierung für alle GKE-Cluster, die in einer Flotte in einem anderen Projekt registriert werden sollen.
Weitere Informationen zu den IAM-Rollen mit den geringsten Berechtigungen, die für verschiedene Aufgaben erforderlich sind, finden Sie unter Vorschläge für vordefinierte Rollen mit Gemini-Unterstützung erhalten.
Roll-out-Sequenz konfigurieren
In diesem Dokument wird erläutert, wie Sie eine Roll-out-Sequenz mit Gruppen von Clustern erstellen, die nach Flotten organisiert sind.
Sie können eine Sequenz von bis zu fünf Gruppen von Clustern erstellen und die Betriebstestzeit auswählen, die nach Abschluss von Clusterupgrades in einer Gruppe gewünscht ist (maximal 30 Tage). Sie können sowohl Autopilot- als auch Standardcluster angeben.
Zum Erstellen einer Roll-out-Sequenz müssen Ihre Cluster in Gruppen von Flotten organisiert sein. Eine Anleitung zum Organisieren Ihrer Cluster finden Sie im Beispiel für eine Community-Bank. Nachdem Sie Cluster in Gruppen organisiert haben, erstellen Sie eine Roll-out-Sequenz, indem Sie die Beziehungen der vorgelagerten Gruppen und die Übergangszeit jeder Gruppe definieren. Bezieht sich in einer Roll-out-Sequenz vorgelagert auf die vorherige Gruppe und nachgelagert auf die nächste Gruppe.
Cluster in Gruppen organisieren
Bei einer Roll-out-Sequenz müssen alle Cluster in allen Gruppen in derselben Release-Version registriert sein und dieselbe Nebenversion haben. Wenn diese Anforderungen nicht erfüllt werden und Versionsabweichungen zwischen Clustern auftreten, kann dies zu Problemen mit dem Roll-out der Version führen. Weitere Informationen finden Sie unter Berechtigung für den Roll-out auf Flottenbasis.
Wenn Sie Ihre Cluster bereits in Flotten organisiert haben, können Sie die folgenden Schritte überspringen und mit Roll-out-Sequenz erstellen fortfahren.
Gruppieren Sie Ihre Cluster in Flotten. Sie können Ihre Cluster nach Bereitstellungsumgebungen wie Test, Staging und Produktion organisieren, wie in der beispielhaften flottenbasierten Roll-out-Sequenz gezeigt.
Registrieren Sie jeden Cluster anhand der ausgewählten Gruppierung bei einer Flotte.
Roll-out-Sequenz erstellen
Eine Roll-out-Sequenz ist als verknüpfte Liste mit bis zu fünf Elementen organisiert.
Wenn Sie eine Roll-out-Sequenz erstellen, legen Sie die folgenden Attribute für jede Clusterflotte fest:
- Vorgelagerte Gruppe:Die vorgelagerte Flotte, die neue Versionen für die nachgelagerte Gruppe qualifiziert. Sie legen keine vorgelagerte Gruppe für die erste Gruppe in einer Sequenz fest.
Übergangszeit: Die Übergangszeit für eine Gruppe ist die Zeit zwischen dem Abschluss von Upgrades (oder der Dauer von 30 Tagen eines Roll-outs) und dem Zeitpunkt, zu dem Upgrades in der nachgelagerten Gruppe beginnen können. Weitere Informationen finden Sie unter So funktioniert die Versionsqualifizierung in einem Roll-out.
Console
Rufen Sie in der Google Cloud Console die Seite Rollout-Sequenzierung auf.
Klicken Sie auf Roll-out-Sequenz erstellen.
Wählen Sie im Bereich Roll-out-Sequenz erstellen die ersten beiden Flotten in der Sequenz aus:
- Wählen Sie im Abschnitt Flotte 1 die erste Flotte in der Sequenz aus.
- Legen Sie im Bereich Übergangszeit für Upstream-Flotte die Übergangszeit für die erste Flotte mit den Feldern Tage, Stunden und Minuten fest.
- Wählen Sie im Bereich Flotte 2 die zweite Flotte in der Sequenz aus.
- Klicken Sie auf Erstellen.
Optional: Wenn Sie drei oder mehr Flotten in dieser Roll-out-Sequenz verwenden möchten, führen Sie die folgenden zusätzlichen Schritte aus:
- Klicken Sie im Roll-out-Diagramm auf das Element für die zweite Flotte.
- Klicken Sie auf Nachgelagerte Flotte hinzufügen.
- Legen Sie im Abschnitt Übergangszeit für Upstream-Flotte die Übergangszeit für die zweite Flotte mit den Feldern Tage, Stunden und Minuten fest.
- Wählen Sie im Bereich Nächste Flotte in der Sequenz die dritte Flotte in der Sequenz aus.
- Klicken Sie auf Speichern.
- Wiederholen Sie die vorherigen Schritte, wenn Sie eine vierte oder fünfte Flotte hinzufügen möchten.
gcloud
In der folgenden Anleitung wird der Befehl gcloud container fleet clusterupgrade update verwendet. Sie können jedoch dieselben Attribute mit dem Befehl gcloud container fleet clusterupgrade create festlegen.
Ersetzen Sie für jeden der folgenden Befehle SOAK_TIME durch die Übergangszeit für die Flotte, die Sie aktualisieren.
Erstellen Sie eine Roll-out-Sequenz:
Legen Sie die Übergangszeit für die erste Flotte in der Sequenz fest:
gcloud container fleet clusterupgrade update \ --default-upgrade-soaking=SOAK_TIME \ --project=FIRST_FLEET_PROJECT_IDErsetzen Sie
FIRST_FLEET_PROJECT_IDdurch die Projekt-ID des Flottenhostprojekts.Legen Sie die vorgelagerte Flotte und die Übergangszeit für die zweite Flotte in der Sequenz fest:
gcloud container fleet clusterupgrade update \ --upstream-fleet=FIRST_FLEET_PROJECT_ID \ --default-upgrade-soaking=SOAK_TIME \ --project=SECOND_FLEET_PROJECT_IDErsetzen Sie
FIRST_FLEET_PROJECT_IDdurch die Projekt-ID des Hostprojekts der ersten Flotte undSECOND_FLEET_PROJECT_IDdurch die Projekt-ID des Flottenhostprojekts.Optional: Wenn Sie mehr als zwei Flotten in einer Roll-out-Sequenz verwenden möchten, legen Sie die vorgelagerte Flotte für die nächsten Flotten in der Sequenz fest.
Mit dem folgenden Befehl wird die vorgelagerte Flotte für die dritte Flotte in der Sequenz festgelegt. Wenn Sie eine vierte oder fünfte Flotte hinzufügen möchten, wiederholen Sie diesen Schritt und folgen Sie demselben Muster, um die Variablen durch die Projekt-IDs für die jeweiligen Flotten-Hostprojekte (vorherige Flotte und nächste Flotte) zu ersetzen.
Legen Sie die vorgelagerte Flotte für die nächste Flotte in der Sequenz fest:
gcloud container fleet clusterupgrade update \ --upstream-fleet=SECOND_FLEET_PROJECT_ID \ --default-upgrade-soaking=SOAK_TIME \ --project=THIRD_FLEET_PROJECT_IDErsetzen Sie
SECOND_FLEET_PROJECT_IDdurch die Projekt-ID des Hostprojekts der zweiten Flotte undTHIRD_FLEET_PROJECT_IDdurch die Projekt-ID des Flottenhostprojekts.
Terraform
In diesem Abschnitt erfahren Sie, wie Sie mit Terraform eine flottenbasierte Sequenz erstellen. Sie können diese Ressource auch verwenden, um die Sequenz zu aktualisieren. Weitere Informationen finden Sie in der Referenzdokumentation zu google_gke_hub_feature.
Ersetzen Sie für jeden der folgenden Befehle SOAK_TIME durch die Übergangszeit für die Flotte, die Sie aktualisieren.
Erstellen Sie eine Roll-out-Sequenz:
Fügen Sie Ihrer Terraform-Konfiguration den folgenden Block hinzu, um die Übergangszeit für die erste Flotte in der Sequenz festzulegen:
resource "google_gke_hub_feature" "feature" { name = "clusterupgrade" location = "global" spec { clusterupgrade { upstream_fleets = [] post_conditions { soaking = "SOAK_TIME" } } } project = "FIRST_FLEET_PROJECT_ID" }Ersetzen Sie
FIRST_FLEET_PROJECT_IDdurch die Projekt-ID des Flottenhostprojekts.Fügen Sie Ihrer Terraform-Konfiguration den folgenden Block hinzu, um die vorgelagerte Flotte und die Übergangszeit für die zweite Flotte in der Sequenz festzulegen:
resource "google_gke_hub_feature" "feature" { name = "clusterupgrade" location = "global" spec { clusterupgrade { upstream_fleets = ["FIRST_FLEET_PROJECT_ID"] post_conditions { soaking = "SOAK_TIME" } } } project = "SECOND_FLEET_PROJECT_ID" }Ersetzen Sie
FIRST_FLEET_PROJECT_IDdurch die Projekt-ID des Hostprojekts der ersten Flotte undSECOND_FLEET_PROJECT_IDdurch die Projekt-ID des Flottenhostprojekts.Optional: Wenn Sie drei Flotten in einer Roll-out-Sequenz verwenden möchten, fügen Sie Ihrer Terraform-Konfiguration den folgenden Block hinzu, um die vorgelagerte Flotte für die Flotte in der Sequenz festzulegen:
resource "google_gke_hub_feature" "feature" { name = "clusterupgrade" location = "global" spec { clusterupgrade { upstream_fleets = ["SECOND_FLEET_PROJECT_ID"] post_conditions { soaking = "SOAK_TIME" } } } project = "THIRD_FLEET_PROJECT_ID" }Ersetzen Sie
SECOND_FLEET_PROJECT_IDdurch die Projekt-ID des Hostprojekts der zweiten Flotte undTHIRD_FLEET_PROJECT_IDdurch die Projekt-ID des Flottenhostprojekts.Wiederholen Sie diesen Schritt, wenn Sie eine vierte oder fünfte Flotte hinzufügen möchten.
Status einer Roll-out-Sequenz prüfen
Sie können den Status einer Roll-out-Sequenz mit einer der folgenden Methoden prüfen:
- Sie können sich in der Google Cloud -Console (Vorschau) eine visuelle Darstellung einer Roll-out-Sequenz ansehen.
- Verwenden Sie die gcloud CLI oder die GKE Hub API, um den Status einer Roll-out-Sequenz zu prüfen.
Wenn Sie sich eine Roll-out-Sequenz mit einer der oben genannten Methoden ansehen möchten, benötigen Sie die IAM-Rolle roles/gkehub.viewer für jedes Flotten-Hostprojekt, insbesondere wenn die Sequenz Flotten in verschiedenen Projekten enthält. Wenn Sie nicht die erforderlichen Berechtigungen für ein Projekt haben, erhalten Sie eine Fehlermeldung, wenn Sie den Status der Sequenz prüfen.
Roll‑out-Sequenz in der Google Cloud -Konsole überwachen
Rufen Sie in der Google Cloud Console die Seite Rollout-Sequenzierung auf.
Die Sequenz finden Sie im Abschnitt Roll‑out-Sequenz überwachen. Wenn keine Roll-out-Sequenz angezeigt wird, wechseln Sie zu einer anderen Roll-out-Sequenz oder erstellen Sie eine Roll-out-Sequenz, falls Sie das noch nicht getan haben.
Roll-out-Sequenz mit der Console überwachen
Auf dieser Seite können Sie sich die Roll-out-Sequenz ansehen, die mit der Flotte Ihres Projekts verknüpft ist. So können Sie den Fortschritt einer Roll-out-Sequenz sehen:
- Sie können sich die gesamte Roll-out-Sequenz ansehen oder die Status einzelner Flotten und Cluster in diesen Flotten sowie die Übergangszeit zwischen den Flotten. Sie können sich auch die Sequenz ansehen, in der kein aktives Upgrade vorhanden ist, um die Konfiguration der Sequenz zu prüfen.
- Filtern Sie nach Upgradetyp (Upgrade der Steuerungsebene oder der Knoten) und nach einer bestimmten Version (z. B. 1.31.6-gke.500).
Sie können die gesamte Roll-out-Sequenz visuell überwachen, während GKE alle Cluster in der Sequenz aktualisiert. Dabei wird eine neue Version in allen Umgebungen qualifiziert, bevor die Cluster in der Produktionsumgebung aktualisiert werden. Während des Monitorings können Sie mit der gcloud CLI eine Roll-out-Sequenz verwalten und bei Bedarf Änderungen vornehmen.
Zu einer anderen Roll-out-Sequenz wechseln
Auf dieser Seite wird die Einführungsreihenfolge angezeigt, wenn das aktive Projekt in derGoogle Cloud -Konsole ein Flotten-Hostprojekt für eine Flotte ist, die für eine Einführungsreihenfolge registriert ist.
Wenn Sie sich eine andere Roll-out-Sequenz ansehen möchten, wählen Sie oben auf der Seite in der Projektauswahl ein Flotten-Hostprojekt aus, das mit einer anderen Roll-out-Sequenz verknüpft ist.
gcloud CLI verwenden
Sie können den Status einer Roll-out-Sequenz, einer Flotte in der Sequenz oder einzelner Cluster in einer Flotte prüfen.
Führen Sie den folgenden Befehl aus, um den Status einer flottenbasierten Roll-out-Sequenz zu prüfen:
gcloud container fleet clusterupgrade describe \ --show-linked-cluster-upgrade --project=FLEET_PROJECT_IDErsetzen Sie
FLEET_PROJECT_IDdurch die Projekt-ID des Hostprojekts für eine beliebige Flotte in der Sequenz. Eine vollständige Liste der Flags finden Sie in der Referenz zugcloud container fleet clusterupgrade describe.Wenn Sie den Status nur einer Flotte in der Sequenz prüfen möchten, ersetzen Sie im vorherigen Befehl das Flag
--show-linked-cluster-upgradedurch das Flag--show-cluster-upgrade.Führen Sie den folgenden Befehl im Flotten-Hostprojekt aus und sehen Sie sich den Abschnitt
membershipStatesan, um den Status einzelner Cluster innerhalb einer Flotte zu prüfen:gcloud container fleet features describe clusterupgrade
Im folgenden Abschnitt werden die Statusinformationen in der resultierenden Ausgabe beschrieben.
Statusinformationen für eine Roll-out-Sequenz
Wenn Sie den Status eines Versions-Roll-outs prüfen, können Sie den Fortschritt jeder Gruppe und jedes Clusters innerhalb dieser Gruppe sehen.
In der folgenden Tabelle sind die möglichen Status eines Clusters oder einer Gruppe aufgeführt:
| Status | Für einen einzelnen Cluster | Für eine Flotte |
|---|---|---|
| INELIGIBLE | Dieser Cluster ist für dieses Upgrade nicht berechtigt. | Einer oder mehrere Cluster in dieser Gruppe sind für das Upgrade nicht berechtigt. |
| AUSSTEHEND | Das Upgrade steht für den Cluster oder einige seiner Standardknotenpools oder Knotengruppen in einem Autopilot-Cluster an. | Das Upgrade wurde in keinem der Cluster in der Gruppe gestartet. |
| IN_PROGRESS | Das Upgrade wird auf dem Cluster ausgeführt. | Das Upgrade hat bei mindestens einem Cluster begonnen, ist aber noch nicht für alle Cluster abgeschlossen. |
| SOAKING | Das Upgrade ist auf dem Cluster abgeschlossen, befindet sich aber noch in der Betriebszeit. | Das Upgrade ist auf allen Clustern abgeschlossen, befindet sich aber noch in der Betriebszeit. |
| FORCED_SOAKING | Das Upgrade dauerte länger als die maximale Upgrade-Zeit (30 Tage) und wurde daher in die Betriebsphase übertragen. Das Upgrade kann auf dem Cluster andauern. | Das Upgrade dauerte länger als die maximale Upgrade-Zeit (30 Tage) und wurde daher in die Betriebsphase übertragen. Das Upgrade kann auf den Clustern andauern. |
| COMPLETE | Das Upgrade wird als "Fertig" betrachtet, was bedeutet, dass das Upgrade in diesem Cluster abgeschlossen ist. | Das Upgrade wird als "Fertig" und bereit für die nachgelagerte Gruppe betrachtet. Dies bedeutet, dass die Betriebszeit des Upgrades abgelaufen ist. |
In der Ausgabe dieser Befehle enthalten die Attribute clusterUpgrade(s).spec und clusterUpgrade(s).state zusätzliche Informationen zum Clusterupgrade, z. B. Übergangszeit, Überschreibungen von Clusterupgrades und Upgradestatus.
Roll-out-Sequenz verwalten
Sie können automatische Clusterupgrades mit Roll-out-Sequenzierung auf verschiedene Arten steuern, die in den folgenden Abschnitten erläutert werden.
Übergangszeit für eine Gruppe ändern
Sie können die Standardübergangszeit für eine Gruppe oder die Übergangszeit für das Upgrade dieser Gruppe auf eine bestimmte Version ändern. Maximal sind 30 Tage möglich.
Übergangszeit aktualisieren
Sie können die standardmäßige Übergangszeit in der Google Cloud Console (Vorabversion) oder mit der gcloud CLI aktualisieren.
Console
Rufen Sie in der Google Cloud Console die Seite Rollout-Sequenzierung auf.
Die Sequenz finden Sie im Abschnitt Roll‑out-Sequenz überwachen. Wenn keine Roll-out-Sequenz angezeigt wird, wechseln Sie zu einer anderen Roll-out-Sequenz oder erstellen Sie eine Roll-out-Sequenz, falls Sie das noch nicht getan haben.
Klicken Sie im Rollout-Diagramm nach dem Element der Flotte, für die Sie die Übergangszeit aktualisieren möchten, auf das Element Übergangszeit.
Klicken Sie auf Einweichzeit bearbeiten.
Geben Sie im Abschnitt Neue Übergangszeit festlegen eine neue Übergangszeit in den Feldern Tage, Stunden und Minuten ein.
Klicken Sie auf Speichern, um die Einstellungen zu speichern.
gcloud
Wenn Sie die Standard-Übergangszeit für eine Gruppe ändern möchten, verwenden Sie die gcloud CLI-Befehle aus der Anleitung zum Erstellen einer Roll-out-Sequenz und lassen Sie die Flags weg, mit denen die vorgelagerte Gruppe festgelegt wird.
Standard-Übergangszeit überschreiben
Sie können die Übergangszeit für ein bestimmtes Version-Roll-out ändern, sodass sie von der Standardübergangszeit der Gruppe abweicht. Wenn Sie beispielsweise bereits eine neue Version qualifiziert haben und bereit sind, mit Upgrades in der nächsten Gruppe zu beginnen, können Sie die Übergangszeit auf null setzen. Sie können sie auch verwenden, wenn Sie mehr Zeit als die Standardbetriebszeit benötigen, um eine bestimmte Version zu qualifizieren.
Da die Übergangszeit pro Gruppe festgelegt wird und Sie die Übergangszeit für andere Gruppen in dieser Sequenz überschreiben möchten, aktualisieren Sie sie mit demselben Befehl, wobei der Flottenname ersetzt wird.
Ersetzen Sie in der Anleitung in diesem Abschnitt die folgenden Variablen:
SOAK_TIME: die Übergangszeit, die nicht der Standardeinstellung entspricht (z. B. „0d“, wenn Sie die Übergangszeit für ein Roll-out einer Version überspringen möchten).UPGRADE_NAME: der Typ des Upgrades, entwederk8s_control_planefür Upgrades der Steuerungsebene oderk8s_nodefür Knoten-Upgrades.VERSION: die GKE-Version, in der Sie die Standardübergangszeit nach der Version (z. B. 1.25.2-gke.400) überschreiben möchten, die in dieser Gruppe eingeführt wurde.
gcloud
Führen Sie den folgenden Befehl im Hostprojekt der Flotte aus, in der Sie die Übergangszeit für das Versions-Roll-out einer bestimmten Version überschreiben möchten.
gcloud container fleet clusterupgrade update
--add-upgrade-soaking-override=SOAK_TIME \
--upgrade-selector=name=UPGRADE_NAME,version=VERSION
Terraform
Fügen Sie Ihrer Terraform-Konfiguration innerhalb des clusterupgrade-Blocks den folgenden gke_upgrades_overrides-Block hinzu, um die Übergangszeit zu überschreiben, die für das Versions-Roll-out einer bestimmten Version verwendet wird:
gke_upgrade_overrides {
upgrade {
name = "UPGRADE_NAME"
version = "VERSION"
}
post_conditions {
soaking = "SOAK_TIME"
}
}
Gruppen in einer Roll-out-Sequenz aktualisieren
Sie können eine vorhandene Roll-out-Sequenz aktualisieren, um Gruppen in der Sequenz hinzuzufügen, zu entfernen oder ihre Reihenfolge zu ändern. Um diese Änderungen vorzunehmen, müssen Sie die Verknüpfungen zwischen Gruppen aktualisieren.
Sie können diese Schritte in der Google Cloud Console (Vorabversion) oder mit der gcloud CLI ausführen.
Console
Rufen Sie in der Google Cloud Console die Seite Rollout-Sequenzierung auf.
Die Sequenz finden Sie im Abschnitt Roll‑out-Sequenz überwachen. Wenn keine Roll-out-Sequenz angezeigt wird, wechseln Sie zu einer anderen Roll-out-Sequenz oder erstellen Sie eine Roll-out-Sequenz, falls Sie das noch nicht getan haben.
Klicken Sie im Roll-out-Diagramm auf die Elemente für die vorhandenen Flotten in der Sequenz. Nachdem Sie auf diese Elemente geklickt haben, können Sie einige der folgenden Aktionen ausführen, um die Änderungen vorzunehmen:
- Klicken Sie auf Nachgelagerte Flotte hinzufügen.
- Klicken Sie auf Vorgelagerte Flotte hinzufügen.
- Klicken Sie auf Flotte entfernen.
Sie können beispielsweise folgende Aktionen ausführen:
- Fügen Sie am Ende der Roll-out-Sequenz eine weitere Flotte hinzu, indem Sie der letzten Flotte in der Sequenz eine Downstream-Flotte hinzufügen.
- Fügen Sie am Anfang der Roll-out-Sequenz eine weitere Flotte hinzu, indem Sie der ersten Flotte in der Sequenz eine Upstream-Flotte hinzufügen.
- Sie können die Reihenfolge der Flotten in der Roll-out-Sequenz ändern, indem Sie Flotten entfernen und dann mit einer anderen Upstream- oder Downstream-Flotte wieder hinzufügen.
- Entfernen Sie die erste Flotte in der Einführungssequenz.
- Entfernen Sie die letzte Flotte in der Roll-out-Sequenz.
- Entfernen Sie die mittlere Flotte in der Roll-out-Sequenz, nachdem Sie die erste oder letzte Flotte in der Sequenz entfernt haben.
gcloud
Verwenden Sie den Befehl gcloud container fleet clusterupgrade update mit dem Flag --upstream-fleet, um Upstream-Flotten hinzuzufügen oder zu ändern. Verwenden Sie das Flag --reset-upstream-fleet, um eine Upstream-Flotte zu entfernen .
Sie können beispielsweise folgende Aktionen ausführen:
- Fügen Sie am Anfang der Roll-out-Sequenz eine weitere Flotte hinzu, indem Sie der ersten Flotte in der Sequenz eine Upstream-Flotte hinzufügen.
- Sie können die Reihenfolge der Flotten in der Roll-out-Sequenz ändern, indem Sie die Upstream-Flottenzuordnungen ändern.
- Entfernen Sie die erste Flotte in der Roll-out-Sequenz, indem Sie die Upstream-Flotte der zweiten Flotte entfernen.
Abschluss des Versions-Roll-outs der Gruppe verzögern
Wenn Sie vorübergehend verhindern möchten, dass eine Gruppe das Roll-out einer neuen Version in ihren Clustern abschließt, können Sie einen Wartungsausschluss zu jedem Cluster hinzufügen, für den noch kein Upgrade auf die Zielversion ausgeführt wurde. Dadurch kann eine Gruppe bis zu 30 Tage lang nicht zur Übergangszeit oder zur nachgelagerten Gruppe übergehen. Nach 30 Tagen beginnt die Betriebszeit der Gruppe.
Sie können auch die Übergangszeit für diese Gruppe in 30 Tage ändern, um die Übergangszeit der Roll-out-Sequenz bis zur Fortsetzung mit der nächsten Gruppe zu maximieren.
Wenn Sie Upgrades für die nächste Gruppe weiter verzögern müssen, können Sie für die Cluster in der nächsten Gruppe Wartungsausschlüsse verwenden.
Sequenz löschen
Zum Löschen einer Sequenz entfernen Sie die vorgelagerten Verknüpfungen für jede der Gruppen, mit Ausnahme der ersten Gruppe. Die erste Gruppe hat keine vorgelagerte Gruppe.
Sie können diese Schritte in der Google Cloud Console (Preview) oder mit der gcloud CLI ausführen.
Console
Rufen Sie in der Google Cloud Console die Seite Rollout-Sequenzierung auf.
Die Sequenz finden Sie im Abschnitt Roll‑out-Sequenz überwachen. Wenn keine Roll-out-Sequenz angezeigt wird, wechseln Sie zu einer anderen Roll-out-Sequenz oder erstellen Sie eine Roll-out-Sequenz, falls Sie das noch nicht getan haben.
Klicken Sie im Roll-out-Diagramm auf das Element für die letzte Flotte.
Klicken Sie auf Flotte entfernen.
Wenn Sie die Flotte entfernen möchten, klicken Sie auf Entfernen.
Wiederholen Sie die drei vorherigen Schritte, bis nur noch die erste Flotte übrig ist.
gcloud
Führen Sie den folgenden Befehl im Flotten-Hostprojekt jeder Flotte in der Roll-out-Sequenz aus, mit Ausnahme der ersten Flotte:
gcloud container fleet clusterupgrade update --reset-upstream-fleet
Fehlerbehebung
Fehler bei der Roll-out-Berechtigung beheben
Wenn nicht alle Cluster in einer Roll-out-Sequenz dasselbe Upgrade-Ziel haben, kann GKE die Cluster-Upgrades möglicherweise nicht fortsetzen. Automatische Upgrades können nicht fortgesetzt werden, wenn eine vorgelagerte Gruppe nicht genau ein Upgrade-Ziel qualifiziert, das an die nachgelagerte Gruppe übergeben werden soll. Automatische Upgrades können auch nicht fortgesetzt werden, wenn Cluster in der vorgelagerten Gruppe ein ungültiges Upgrade-Ziel für Cluster in der nachgelagerten Gruppe qualifizieren.
Prüfen Sie den Status der Roll-out-Sequenz, um festzustellen, ob bei Ihrer Roll-out-Sequenz Probleme auftreten. Wenn eine Gruppe nicht berechtigt ist, folgen Sie der Anleitung, um den Status einzelner Cluster in einer Gruppe anzuzeigen.
Entfernen Sie alle Cluster mit dem Status INELIGIBLE, indem Sie der Anleitung unter Teilweise berechtigte Roll-outs voranbringen folgen, um Clusterupgrades sofort fortzusetzen.
Berechtigung in einer Gruppe korrigieren
Wenn in einer Gruppe ein Cluster nicht berechtigt ist, da er eine frühere Version hat (z. B. wird für die meisten Cluster in der Gruppe ein Upgrade von 1.23 auf 1.24 ausgeführt und ein Cluster hat Version 1.22), können Sie manuell ein Upgrade auf 1.24 ausführen, um die Versionsabweichung zu beheben.
In einer Gruppe ignoriert GKE Cluster mit Versionen, die neuer sind als das Ziel für automatische Upgrades. Diese Cluster verhindern nicht, dass Upgrades in der nachgelagerten Gruppe fortgesetzt werden.
Berechtigung zwischen Gruppen korrigieren
Wenn es zwischen Gruppen eine Abweichung bei den Upgradezielen gibt, wobei die nachgelagerte Gruppe eine neuere Version hat (z. B. wird die vorgelagerte Gruppe von 1.23 auf 1.24 aktualisiert und die Cluster in der nachgelagerten Gruppe haben Version 1.25), können Sie die Cluster in der vorgelagerten Gruppe manuell auf 1.25 aktualisieren, um sicherzustellen, dass die Upgrades fortgesetzt werden.
Wenn es zwischen Gruppen Abweichung bei den Upgradezielen gibt, wobei die nachgelagerte Gruppe eine frühere Version hat (z. B. wird die vorgelagerte Gruppe von 1.24 auf 1.25 aktualisiert und die Cluster in der nachgelagerten Gruppe haben Version 1.23), können Sie die Cluster in der nachgelagerten Gruppe manuell auf 1.24 oder 1.25 aktualisieren, um sicherzustellen, dass die Upgrades fortgesetzt werden. Wenn GKE die vorgelagerte Gruppe auf eine Version aktualisiert hat, für die die nachgelagerte Gruppe berechtigt ist, aktualisiert GKE die Cluster in der nachgelagerten Gruppe auf dieses Upgrade-Ziel. In diesem Fall müssen Sie die Cluster nicht manuell aktualisieren, um die Sequenz zu entsperren. Weitere Informationen finden Sie unter Die vorgelagerte Gruppe hat mehrere Upgradeziele für die nachgelagerte Gruppe qualifiziert.
Teilweise berechtigte Roll-outs voranbringen
Wenn Clusterupgrades in einer Gruppe aufgrund von Problemen mit der Roll-out-Berechtigung nicht abgeschlossen werden (z. B. Versionsabweichungen innerhalb einer Gruppe), können Sie Cluster, die für das Upgradeziel der Gruppe nicht berechtigt sind, aus einer Gruppe entfernen, um den Versions-Roll-out abzuschließen und die Übergangszeit zu starten oder mit der nächsten Gruppe in der Roll-out-Sequenz fortzufahren. Sie können einen Cluster auch aus anderen Gründen aus einer Gruppe entfernen, z. B. wenn die Nutzung dieses Clusters nicht mehr mit den anderen Clustern in der Gruppe zusammenhängt.
Folgen Sie der Anleitung unter Registrierung eines Clusters bei einer Flotte aufheben.
Nachdem Sie alle Cluster entfernt haben, die den Abschluss des Versions-Roll-outs einer Gruppe verhindern, wird das Versions-Roll-out der Gruppe abgeschlossen. Bestätigen Sie dies mithilfe der Anleitung unter Status eines Versions-Roll-outs prüfen.