Roll-out von Clusterupgrades sequenzieren

In diesem Dokument erfahren Sie, wie Sie GKE-Clusterupgrades mit Roll-out-Sequenzierung verwalten. Weitere Informationen zur Funktionsweise dieser Funktion finden Sie unter Clusterupgrades mit Roll-out-Sequenzierung.

Hinweise

  • Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:

    gcloud init

    Wenn 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 Sie vorhandene Autopilot- oder Standardcluster haben. 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

Zum Erstellen oder Ändern einer Rollout-Sequenz 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 in einer Flotte registrieren oder die Registrierung aufheben möchten, benötigen Sie alle folgenden Berechtigungen:

Weitere Informationen zu den IAM-Rollen mit den geringsten Berechtigungen, die für verschiedene Aufgaben erforderlich sind, finden Sie unter Vordefinierte Rollenvorschläge 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 auswählen, wie viel Betriebstestzeit nach Abschluss von Clusterupgrades in einer Gruppe gewünscht ist (maximal 30 Tage). Sie können sowohl Autopilot- als auch Standardcluster verwenden.

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 Betriebszeit 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.

  1. 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.

  2. 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.
  • Betriebszeit: Die Betriebszeit 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

  1. Rufen Sie in der Google Cloud Console die Seite Rollout-Sequenzierung auf.

    Zur Rollout-Sequenzierung

  2. Klicken Sie auf Roll-out-Sequenz erstellen.

  3. Wählen Sie im Bereich Rollout-Sequenz erstellen die ersten beiden Flotten in der Sequenz aus:

    1. Wählen Sie im Abschnitt Flotte 1 die erste Flotte in der Sequenz aus.
    2. Legen Sie im Bereich Betriebszeit für vorgelagerte Flotte die Betriebszeit für die erste Flotte mit den Feldern Tage, Stunden und Minuten fest.
    3. Wählen Sie im Bereich Flotte 2 die zweite Flotte in der Reihenfolge aus.
    4. Klicken Sie auf Erstellen.
  4. Optional: Wenn Sie drei oder mehr Flotten in dieser Roll-out-Sequenz verwenden möchten, führen Sie die folgenden zusätzlichen Schritte aus:

    1. Klicken Sie im Roll-out-Diagramm auf das Element für die zweite Flotte.
    2. Klicken Sie auf  Nachgelagerte Flotte hinzufügen.
    3. Legen Sie im Abschnitt Betriebszeit für vorgelagerte Flotte die Betriebszeit für die zweite Flotte mit den Feldern Tage, Stunden und Minuten fest.
    4. Wählen Sie im Bereich Nächste Flotte in der Sequenz die dritte Flotte in der Sequenz aus.
    5. Klicken Sie auf Speichern.
    6. 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 Betriebszeit für die Flotte, die Sie aktualisieren.

Erstellen Sie eine Roll-out-Sequenz:

  1. Legen Sie die Betriebszeit für die erste Flotte in der Sequenz fest:

    gcloud container fleet clusterupgrade update \
        --default-upgrade-soaking=SOAK_TIME \
        --project=FIRST_FLEET_PROJECT_ID
    

    Ersetzen Sie FIRST_FLEET_PROJECT_ID durch die Projekt-ID des Flottenhostprojekts.

  2. Legen Sie die vorgelagerte Flotte und die Betriebszeit 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_ID
    

    Ersetzen Sie FIRST_FLEET_PROJECT_ID durch die Projekt-ID des Hostprojekts der ersten Flotte und SECOND_FLEET_PROJECT_ID durch die Projekt-ID des Flottenhostprojekts.

  3. 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_ID
    

    Ersetzen Sie SECOND_FLEET_PROJECT_ID durch die Projekt-ID des Hostprojekts der zweiten Flotte und THIRD_FLEET_PROJECT_ID durch 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 Betriebszeit für die Flotte, die Sie aktualisieren.

Erstellen Sie eine Roll-out-Sequenz:

  1. 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_ID durch die Projekt-ID des Flottenhostprojekts.

  2. 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_ID durch die Projekt-ID des Hostprojekts der ersten Flotte und SECOND_FLEET_PROJECT_ID durch die Projekt-ID des Flottenhostprojekts.

  3. 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_ID durch die Projekt-ID des Hostprojekts der zweiten Flotte und THIRD_FLEET_PROJECT_ID durch 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 -Konsole (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 beiden oben genannten Methoden ansehen möchten, müssen Sie für jedes Flotten-Hostprojekt die IAM-Rolle roles/gkehub.viewer haben, insbesondere wenn die Sequenz Flotten in verschiedenen Projekten umfasst. Wenn Sie nicht die erforderlichen Berechtigungen für ein Projekt haben, wird beim Prüfen des Status der Sequenz ein Fehler angezeigt.

Roll‑out-Sequenz in der Google Cloud -Konsole überwachen

  1. Rufen Sie in der Google Cloud Console die Seite Rollout-Sequenzierung auf.

    Zur Rollout-Sequenzierung

  2. Die Sequenz finden Sie im Abschnitt Roll‑out-Sequenz überwachen. Wenn Sie keine Roll-out-Sequenz sehen, 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 in der Konsole ü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 Betriebszeit 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 des Knotens) 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 und eine neue Version in allen Umgebungen qualifiziert, bevor die Cluster in Ihrer Produktionsumgebung aktualisiert werden. Während des Monitorings können Sie mit der gcloud CLI eine Rollout-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_ID
    

    Ersetzen Sie FLEET_PROJECT_ID durch die Projekt-ID des Hostprojekts für eine beliebige Flotte in der Sequenz. Eine vollständige Liste der Flags finden Sie in der Referenz zu gcloud container fleet clusterupgrade describe.

  • Wenn Sie nur den Status einer Flotte in der Sequenz prüfen möchten, ersetzen Sie im vorherigen Befehl das Flag --show-linked-cluster-upgrade durch das Flag --show-cluster-upgrade.

  • Führen Sie den folgenden Befehl im Flotten-Hostprojekt aus und sehen Sie sich den Abschnitt membershipStates an, 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. Betriebszeit, Ü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.

Betriebszeit für eine Gruppe ändern

Sie können die Standardbetriebszeit für eine Gruppe oder die Betriebszeit für das Upgrade dieser Gruppe auf eine bestimmte Version ändern. Die maximale Dauer beträgt 30 Tage.

Standardbetriebszeit aktualisieren

Sie können die standardmäßige Soak-Zeit in der Google Cloud Console (Vorabversion) oder mit der gcloud CLI aktualisieren.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Rollout-Sequenzierung auf.

    Zur Rollout-Sequenzierung

  2. Die Sequenz finden Sie im Abschnitt Roll‑out-Sequenz überwachen. Wenn Sie keine Roll-out-Sequenz sehen, wechseln Sie zu einer anderen Roll-out-Sequenz oder erstellen Sie eine Roll-out-Sequenz, falls Sie das noch nicht getan haben.

  3. Klicken Sie im Rollout-Diagramm nach dem Element der Flotte, für die Sie die Testlaufzeit aktualisieren möchten, auf das Element Testlaufzeit.

  4. Klicken Sie auf  Einweichzeit bearbeiten.

  5. Geben Sie im Bereich Neue Einweichzeit festlegen eine neue Einweichzeit in den Feldern Tage, Stunden und Minuten ein.

  6. Klicken Sie auf Speichern, um die Einstellungen zu speichern.

gcloud

Wenn Sie die Standardbetriebszeit 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.

Standardbetriebszeit überschreiben

Sie können die Betriebszeit für ein bestimmtes Version-Roll-out ändern, sodass sie von der Standardbetriebszeit 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 Betriebszeit 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 Betriebszeit für einzelne Gruppen festgelegt wird und Sie die Betriebszeit für andere Gruppen in dieser Sequenz überschreiben möchten, aktualisieren Sie sie mit demselben Befehl, wobei der Flottenname ersetzt wird.

Ersetzen Sie bei den Anweisungen in diesem Abschnitt die folgenden Variablen:

  • SOAK_TIME: die Betriebszeit, die nicht der Standardeinstellung entspricht (z. B. "0d", wenn Sie die Betriebszeit für ein Roll-out einer Version überspringen möchten).
  • UPGRADE_NAME: der Typ des Upgrades, entweder k8s_control_plane für Upgrades der Steuerungsebene oder k8s_node für Knotenupgrades.
  • 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 diesen Befehl im Hostprojekt der Flotte aus, in der Sie die Betriebszeit 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 hinzuzufügen, zu entfernen oder die Reihenfolge der Gruppen in der Sequenz zu ändern. Wenn Sie diese Änderungen vornehmen möchten, aktualisieren Sie die Zuordnungen zwischen Gruppen.

Sie können diese Schritte in der Google Cloud -Konsole (Vorabversion) oder mit der gcloud CLI ausführen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Rollout-Sequenzierung auf.

    Zur Rollout-Sequenzierung

  2. Die Sequenz finden Sie im Abschnitt Roll‑out-Sequenz überwachen. Wenn Sie keine Roll-out-Sequenz sehen, wechseln Sie zu einer anderen Roll-out-Sequenz oder erstellen Sie eine Roll-out-Sequenz, falls Sie das noch nicht getan haben.

  3. Klicken Sie im Rollout-Diagramm auf die Elemente für die vorhandenen Flotten in der Reihenfolge. 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 Rollout-Sequenz eine weitere Flotte hinzu, indem Sie der letzten Flotte in der Sequenz eine Downstream-Flotte hinzufügen.
  • Fügen Sie der Rollout-Sequenz eine weitere Flotte am Anfang 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 Einführungssequenz.
  • 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 der Rollout-Sequenz eine weitere Flotte am Anfang hinzu, indem Sie der ersten Flotte in der Sequenz eine Upstream-Flotte hinzufügen.
  • Ändern Sie die Reihenfolge der Flotten in der Roll-out-Sequenz, 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 Betriebszeit oder zur nachgelagerten Gruppe übergehen. Nach 30 Tagen beginnt die Betriebszeit der Gruppe.

Sie können auch die Betriebszeit für diese Gruppe in 30 Tage ändern, um die Betriebszeit 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 -Konsole (Vorabversion) oder mit der gcloud CLI ausführen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Rollout-Sequenzierung auf.

    Zur Rollout-Sequenzierung

  2. Die Sequenz finden Sie im Abschnitt Roll‑out-Sequenz überwachen. Wenn Sie keine Roll-out-Sequenz sehen, wechseln Sie zu einer anderen Roll-out-Sequenz oder erstellen Sie eine Roll-out-Sequenz, falls Sie das noch nicht getan haben.

  3. Klicken Sie im Rollout-Diagramm auf das Element für die letzte Flotte.

  4. Klicken Sie auf  Flotte entfernen.

  5. Klicken Sie zum Entfernen der Flotte auf Entfernen.

  6. 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 die Zielversion 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 Upgradeziel. 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 Soak-Zeit 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.

Nächste Schritte