Automatische Upgrades für Ihre Knoten ausführen

Auf dieser Seite erfahren Sie, wie Sie automatische Knotenupgrades in Google Kubernetes Engine (GKE) konfigurieren.

Übersicht

Automatische Knotenupgrades helfen Ihnen, die Knoten in Ihrem Cluster mit der Steuerungsebene des Clusters auf dem neuesten Stand zu halten, wenn Ihre Steuerungsebene für Sie aktualisiert wird. Wenn Sie einen neuen Cluster oder Knotenpool mit der Google Cloud Konsole oder dem gcloud-Befehl erstellen, sind automatische Knotenupgrades standardmäßig aktiviert.

Weitere Informationen finden Sie unter Automatische Cluster- und Knotenupgrades.

Automatische Knotenupgrades bieten mehrere Vorteile:

  • Geringer Verwaltungsaufwand: Sie müssen Ihre Knoten nicht manuell nachverfolgen und aktualisieren, wenn die Steuerungsebene für Sie aktualisiert wird.
  • Bessere Sicherheit: Manchmal werden neue Binärprogramme veröffentlicht, um ein Sicherheitsproblem zu beheben. Mit automatischen Upgrades werden Sicherheitsupdates in GKE automatisch angewendet und auf dem neuesten Stand gehalten.
  • Nutzerfreundlichkeit: Bietet eine einfache Möglichkeit, Knoten immer mit den neuesten Kubernetes-Features zu aktualisieren.

Für Knotenpools mit aktivierten automatischen Upgrades werden Upgrades geplant, wenn sie die Auswahlkriterien erfüllen (in den Versionshinweisen angekündigt). Rollouts erfolgen über mehrere Wochen, um die Stabilität von Clustern und Gerätepools zu gewährleisten. Beim Ausführen eines Upgrades werden Knoten per Drain beendet und neu erstellt, damit sie der aktuellen Version der Steuerungsebene entsprechen. Änderungen am Bootlaufwerk einer Knoten-VM gehen bei der Neuerstellung von Knoten verloren. Verwenden Sie ein DaemonSet, um Änderungen beizubehalten, wenn Knoten neu erstellt werden.

Für Alphacluster sind keine automatischen Knotenupgrades verfügbar. Wenn Sie einen Cluster mit Windows Server-Knotenpools verwenden, lesen Sie den Abschnitt Windows Server-Knotenpools upgraden, bevor Sie das automatische Knotenupgrade aktivieren.

Hinweise

Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:

  • Aktivieren Sie die Google Kubernetes Engine API.
  • Google Kubernetes Engine API aktivieren
  • Wenn Sie die Google Cloud CLI für diesen Task verwenden möchten, müssen Sie die gcloud CLI installieren und dann initialisieren. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit dem Befehl gcloud components update ab. In früheren gcloud CLI-Versionen werden die Befehle in diesem Dokument möglicherweise nicht unterstützt.
  • Prüfen Sie, ob Sie einen vorhandenen Standardcluster haben. Wenn Sie einen neuen Cluster mit der Google Cloud Console oder dem Google Cloud CLI-Befehl erstellen, ist das automatische Knotenupgrade standardmäßig aktiviert. Informationen zum Erstellen eines Standardclusters finden Sie unter Regionalen Cluster erstellen.

Status des automatischen Upgrades für einen vorhandenen Knotenpool prüfen

Mit der Google Cloud Console oder dem Befehl gcloud können Sie prüfen, ob das automatische Upgrade für einen Knotenpool aktiviert oder deaktiviert ist.

gcloud

Führen Sie den folgenden Befehl aus, um den Status des automatischen Upgrades für einen Knotenpool zu prüfen:

gcloud container node-pools describe NODE_POOL_NAME \
  --cluster CLUSTER_NAME \
  --location CONTROL_PLANE_LOCATION

Dabei gilt:

  • NODE_POOL_NAME ist der Name des Knotenpools.
  • CLUSTER_NAME ist der Name des Clusters, der den Knotenpool enthält.
  • CONTROL_PLANE_LOCATION: Der Compute Engine-Standort der Steuerungsebene des Clusters. Geben Sie für regionale Cluster eine Region und für zonale Cluster eine Zone an.

Suchen Sie in der Ausgabe nach dem Feld autoUpgrade, um zu sehen, ob automatische Upgrades für den Knotenpool aktiviert oder deaktiviert sind.

management:
  autoUpgrade: true

Console

So prüfen Sie den Status des automatischen Upgrades für einen Knotenpool:

  1. Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.

    Zur Seite "Google Kubernetes Engine"

  2. Klicken Sie in der Clusterliste auf den Namen des Clusters, den Sie anzeigen möchten.

  3. Klicken Sie auf den Tab Knoten.

  4. Klicken Sie unter Knotenpools auf den Namen des Knotenpools, den Sie aufrufen möchten.

  5. Sehen Sie sich auf der Seite Knotenpooldetails unter Verwaltung den Wert des Felds Automatisches Upgrade an.

Automatische Knotenupgrades für vorhandene Knotenpools aktivieren

Wenn Sie mit der Google Cloud Konsole oder dem Befehl gcloud einen neuen Cluster erstellen, sind automatische Knotenupgrades standardmäßig aktiviert.

Sie können automatische Knotenupgrades aktivieren, wenn sie derzeit deaktiviert sind.

gcloud

Führen Sie den folgenden Befehl aus, um automatische Upgrades für einen vorhandenen Knotenpool zu aktivieren:

gcloud container node-pools update NODE_POOL_NAME \
    --cluster CLUSTER_NAME \
    --location CONTROL_PLANE_LOCATION \
    --enable-autoupgrade

Dabei gilt:

  • NODE_POOL_NAME ist der Name des Knotenpools.
  • CLUSTER_NAME ist der Name des Clusters, der den Knotenpool enthält.
  • CONTROL_PLANE_LOCATION: Der Compute Engine-Standort der Steuerungsebene des Clusters. Geben Sie für regionale Cluster eine Region und für zonale Cluster eine Zone an.

Console

Gehen Sie so vor, um automatische Upgrades für einen vorhandenen Knotenpool zu aktivieren:

  1. Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.

    Zur Seite "Google Kubernetes Engine"

  2. Klicken Sie in der Clusterliste auf den Namen des Clusters, den Sie ändern möchten.

  3. Klicken Sie auf den Tab Knoten.

  4. Klicken Sie unter Knotenpools auf den Namen des Knotenpools, den Sie ändern möchten.

  5. Klicken Sie auf der Seite Knotenpooldetails auf Bearbeiten.

  6. Klicken Sie unter Verwaltung das Kästchen Automatische Upgrades aktivieren an.

  7. Klicken Sie auf Speichern.

Wenn Sie eine bessere Kontrolle darüber möchten, wann automatische Knotenupgrades durchgeführt werden können, sollten Sie Wartungsfenster und Ausschlüsse konfigurieren.

Status von Knotenupgrades prüfen

Sie können den Status eines Upgrades mit gcloud container operations prüfen.

Rufen Sie eine Liste aller ausgeführten und abgeschlossenen Vorgänge im Cluster auf,die in den letzten 12 Tagen ausgeführt wurden, wenn es weniger als 5.000 Vorgänge gibt,oder die letzten 5.000 Vorgänge:

gcloud container operations list \
    --location=CONTROL_PLANE_LOCATION

Jedem Vorgang werden eine Vorgangs-ID, ein Vorgangstyp, Start- und Endzeiten, Zielcluster und ein Status zugewiesen. Eine solche Liste sieht etwa so aus:

NAME                              TYPE                ZONE           TARGET              STATUS_MESSAGE  STATUS  START_TIME                      END_TIME
operation-1505407677851-8039e369  CREATE_CLUSTER      us-west1-a     my-cluster                          DONE    20xx-xx-xxT16:47:57.851933021Z  20xx-xx-xxT16:50:52.898305883Z
operation-1505500805136-e7c64af4  UPGRADE_CLUSTER     us-west1-a     my-cluster                          DONE    20xx-xx-xxT18:40:05.136739989Z  20xx-xx-xxT18:41:09.321483832Z
operation-1505500913918-5802c989  DELETE_CLUSTER      us-west1-a     my-cluster                          DONE    20xx-xx-xxT18:41:53.918825764Z  20xx-xx-xxT18:43:48.639506814Z

Weitere Informationen zu einem bestimmten Vorgang erhalten Sie, wenn Sie die Vorgangs-ID wie im folgenden Befehl angeben:

gcloud container operations describe OPERATION_ID \
    --location=CONTROL_PLANE_LOCATION

Beispiel:

gcloud container operations describe operation-1507325726639-981f0ed6
endTime: '20xx-xx-xxT21:40:05.324124385Z'
name: operation-1507325726639-981f0ed6
operationType: UPGRADE_CLUSTER
selfLink: https://container.googleapis.com/v1/projects/.../kubernetes-engine/docs/zones/us-central1-a/operations/operation-1507325726639-981f0ed6
startTime: '20xx-xx-xxT21:35:26.639453776Z'
status: DONE
targetLink: https://container.googleapis.com/v1/projects/.../kubernetes-engine/docs/zones/us-central1-a/clusters/...
zone: us-central1-a

Wenn das Upgrade abgebrochen wurde oder fehlgeschlagen ist und teilweise abgeschlossen wurde, können Sie das Upgrade fortsetzen oder ein Rollback durchführen.

Upgrade-Einstellungen für Knotenpools prüfen

Mit dem Befehl gcloud container node-pools describe können Sie Details zur Aktualisierungsstrategie für Knoten abrufen, die für Ihre Knotenpools verwendet wird. Bei Blau/Grün-Upgrades gibt der Befehl auch die aktuelle Phase des Upgrades zurück.

Führen Sie dazu diesen Befehl aus:

gcloud container node-pools describe NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION

Dabei gilt:

  • NODE_POOL_NAME ist der Name des zu beschreibenden Knotenpools.
  • CLUSTER_NAME ist der Name des Clusters des zu beschreibenden Knotenpools.
  • CONTROL_PLANE_LOCATION: Der Standort (Region oder Zone) für die Steuerungsebene, z. B. us-central1 oder us-central1-a.

Mit diesem Befehl werden die aktuellen Upgrade-Einstellungen ausgegeben. Das folgende Beispiel zeigt die Ausgabe, wenn Sie die Blau/Grün-Upgrade-Strategie verwenden.

upgradeSettings:
  blueGreenSettings:
    nodePoolSoakDuration: 1800s
    standardRolloutPolicy:
      batchNodeCount: 1
      batchSoakDuration: 10s
  strategy: BLUE_GREEN

Wenn Sie die Blau/Grün-Upgrade-Strategie verwenden, enthält die Ausgabe auch Details zu den Blau/Grün-Upgrade-Einstellungen und deren aktuelle Zwischenphase. Das folgende Beispiel zeigt, wie dies aussehen könnte:

updateInfo:
  blueGreenInfo:
    blueInstanceGroupUrls:
    - https://www.googleapis.com/compute/v1/projects/{PROJECT_ID}/zones/{LOCATION}/instanceGroupManagers/{BLUE_INSTANCE_GROUP_NAME}
    bluePoolDeletionStartTime: {BLUE_POOL_DELETION_TIME}
    greenInstanceGroupUrls:
    - https://www.googleapis.com/compute/v1/projects/{PROJECT_ID}/zones/{LOCATION}/instanceGroupManagers/{GREEN_INSTANCE_GROUP_NAME} 
    greenPoolVersion: {GREEN_POOL_VERSION}
    phase: DRAINING_BLUE_POOL

Automatische Knotenupgrades deaktivieren

Obwohl das nicht empfohlen wird, können Sie das automatische Knotenupgrade für einen vorhandenen Knotenpool deaktivieren, wenn der zugrunde liegende Cluster nicht für eine Release-Version registriert ist.

Überlegungen vor der Deaktivierung automatischer Knotenupgrades

Wenn Sie automatische Knotenupgrades für einen Knotenpool deaktivieren, aktualisiert GKE die Version der Knoten nicht. Durch das Deaktivieren von automatischen Knotenupgrades wird nicht verhindert, dass GKE ein Upgrade der Steuerungsebene Ihres Clusters ausführt.

Durch das Deaktivieren werden Versionsupdates verhindert, jedoch nicht alle Wartungsaufgaben

Durch das Deaktivieren von automatischen Knotenupgrades wird nur verhindert, dass GKE die Version der Knoten aktualisiert. GKE kann jedoch weiterhin andere Wartungsaufgaben initiieren. So werden beispielsweise selbst bei deaktivierten automatischen Knoten-Upgrades durch das Auslösen der IP-Adressrotation, das Aktivieren der Netzwerkrichtlinie oder die PSC-Migration auf einem Cluster alle Knoten mit der gleichen Version wie die Steuerebene neu erstellt, unabhängig von der für den Knotenpool ausgewählten Version. Verwenden Sie Wartungsfenster und -ausschlüsse, um den Wartungszeitpunkt zu steuern.

Deaktivierung bedeutet, dass die Kompatibilität der Steuerebenen-Knoten gewährleistet ist

Wenn Sie automatische Knotenupgrades für einen Knotenpool deaktivieren, müssen Sie dafür sorgen, dass auf den Knoten des Clusters eine Version ausgeführt wird, die mit der Version der Steuerungsebene des Clusters kompatibel ist und der GKE-Versionskompatibilitätsrichtlinie entspricht. Durch das Deaktivieren von automatischen Knotenupgrades wird nur verhindert, dass Knotenpools bis zum Ende des Standardsupports aktualisiert werden. GKE aktualisiert Knoten, auf denen eine nicht unterstützte Version ausgeführt wird, nachdem die Version das Ende des Supports erreicht hat, um den Zustand des Clusters sicherzustellen.

Weitere Informationen zum Zeitpunkt des Supportendes finden Sie im geschätzten Zeitplan für Release-Channels. Knoten, die nicht unterstützte Versionen ausführen, werden möglicherweise nicht sofort nach dem Ende der Supportdauer aktualisiert. Der tatsächliche Zeitpunkt kann nach Ermessen von Google variieren.

Durch das Deaktivieren werden die laufenden Vorgänge nicht gestoppt

Durch das Deaktivieren von automatischen Knotenupgrades werden laufende Upgrades auf Knoten in Knotenpools nicht beendet oder abgebrochen. Wie Sie laufende Upgrades abbrechen oder beenden können, erfahren Sie unter Knotenupgrade abbrechen. Das Abbrechen eines Knotenupgrades kann hilfreich sein, wenn Arbeitslasten auf aktualisierten Knoten fehlschlagen und Sie eine weitere Unterbrechung vermeiden möchten.

Wenn das Upgrade für den gesamten Knotenpool vollständig abgeschlossen wurde, kann kein Upgrade durchgeführt oder abgebrochen werden. Informationen zum Downgrade des Knotenpools finden Sie unter Downgrade von Knotenpools.

Automatische Knotenupgrades für vorhandene Knotenpools aktivieren

gcloud

Führen Sie den folgenden Befehl aus, um automatische Upgrades für einen vorhandenen Knotenpool zu deaktivieren:

gcloud container node-pools update NODE_POOL_NAME \
    --cluster CLUSTER_NAME \
    --location CONTROL_PLANE_LOCATION \
    --no-enable-autoupgrade

Console

Gehen Sie so vor, um automatische Upgrades für einen vorhandenen Knotenpool zu deaktivieren:

  1. Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.

    Zur Seite "Google Kubernetes Engine"

  2. Klicken Sie in der Clusterliste auf den Namen des Clusters, den Sie ändern möchten.

  3. Klicken Sie auf den Tab Knoten.

  4. Klicken Sie unter Knotenpools auf den Namen des Knotenpools, den Sie ändern möchten.

  5. Klicken Sie auf der Seite Knotenpooldetails auf Bearbeiten.

  6. Entfernen Sie unter Verwaltung das Häkchen aus dem Kästchen Automatische Upgrades aktivieren.

  7. Klicken Sie auf Speichern um den Cluster zu ändern.

Knotenpool mit aktivierten automatischen Knotenupgrades erstellen

gcloud

Geben Sie zum Erstellen eines Knotenpools mit aktiviertem automatischen Upgrade das --enable-autoupgrade-Flag im gcloud container node-pools create-Befehl an:

gcloud container node-pools create NODE_POOL_NAME \
    --cluster CLUSTER_NAME \
    --location CONTROL_PLANE_LOCATION \
    --enable-autoupgrade

Console

Mit der Google Cloud Console erstellte Cluster und Knotenpools haben standardmäßig automatische Upgrades aktiviert. Anleitungen zum Erstellen von Clustern und Knotenpools finden Sie unter Cluster erstellen oder Knotenpools hinzufügen und verwalten.

Sie können automatische Upgrades für neue Knotenpools deaktivieren. Klicken Sie auf der Seite zur Clustererstellung auf den Namen des Knotenpools, den Sie ändern möchten, und deaktivieren Sie dann die Option Automatisches Upgrade aktivieren.

Upgrade-Benachrichtigungen erhalten

GKE veröffentlicht Benachrichtigungen zu Upgrades in Pub/Sub. Damit haben Sie einen Kanal, über den Sie Informationen zu Ihren Clustern von GKE erhalten.

Weitere Informationen finden Sie unter Benachrichtigungen zu Cluster-Upgrades erhalten.

Surge-Upgradeparameter ändern

Weitere Informationen zum Ändern von Surge-Upgrade-Parametern finden Sie unter Surge-Upgrades konfigurieren.

Steuerung während eines Knotenpool-Upgrades ausführen

Bei automatischen Upgrades und manuell initiierten Knotenpoolupgrades können Sie die folgenden Aktionen ausführen.

Upgrade eines Knotenpools abbrechen

Sie können ein Upgrade jederzeit abbrechen. Weitere Informationen dazu, was beim Abbrechen eines Surge-Upgrades geschieht, finden Sie unter Surge-Upgrade abbrechen. Weitere Informationen dazu, was beim Abbrechen eines Blau/Grün-Upgrades geschieht, finden Sie unter Blau/Grün-Upgrade abbrechen.

  1. Rufen Sie die Vorgangs-ID des Upgrades ab:

    gcloud container operations list \
          --location=CONTROL_PLANE_LOCATION
    
  2. Upgrade abbrechen:

    gcloud container operations cancel OPERATION_ID \
          --location=CONTROL_PLANE_LOCATION
    

Weitere Informationen finden Sie in der Dokumentation zu gcloud container operations cancel.

Upgrade des Knotenpools fortsetzen

Sie können ein Upgrade fortsetzen, indem Sie das Upgrade noch einmal manuell starten und dabei die Zielversion aus dem ursprünglichen Upgrade angeben.

Wenn beispielsweise ein Upgrade fehlgeschlagen ist oder Sie ein laufendes Upgrade pausiert haben, können Sie das abgebrochene Upgrade fortsetzen. Starten Sie dazu das gleiche Upgrade im Knotenpool noch einmal und geben Sie dabei die Zielversion aus dem ursprünglichen Upgradevorgang an.

Weitere Informationen dazu, was beim Fortsetzen eines Upgrades geschieht, finden Sie unter Surge-Upgrade fortsetzen und Blau/Grün-Upgrade.

Verwenden Sie den folgenden Befehl, um ein Upgrade fortzusetzen:

gcloud container clusters upgrade CLUSTER_NAME \
  --node-pool=NODE_POOL_NAME \
  --location=CONTROL_PLANE_LOCATION \
  --cluster-version VERSION

Dabei gilt:

  • NODE_POOL_NAME ist der Name des Knotenpools, für den Sie das Upgrade des Knotenpools fortsetzen möchten.
  • CLUSTER_NAME ist der Name des Clusters des Knotenpools, für den Sie das Upgrade fortsetzen möchten.
  • CONTROL_PLANE_LOCATION: Der Standort (Region oder Zone) für die Steuerungsebene, z. B. us-central1 oder us-central1-a.
  • VERSION ist die Zielversion des abgebrochenen Knotenpool-Upgrades.

Weitere Informationen erhalten Sie in der Dokumentation zu gcloud container clusters upgrade.

Rollback für Knotenpool-Upgrade durchführen

Sie können ein Rollback für einen Knotenpool ausführen, um die aktualisierten Knoten auf ihren ursprünglichen Zustand vor dem Upgrade des Knotenpools zurücksetzen.

Verwenden Sie den Befehl rollback, wenn ein laufendes Upgrade abgebrochen wurde, das Upgrade fehlgeschlagen ist oder aufgrund einer Zeitüberschreitung des Wartungsfensters unvollständig ist. Wenn Sie die Version angeben möchten, folgen Sie der Anleitung zum Ausführen eines Downgrades des Knotenpools.

Weitere Informationen dazu, was beim Rollback eines Knotenpool-Upgrades geschieht, finden Sie unter Rollup bei einem Surge-Upgrade rückgängig machen oder Rollvorgang für Blau/Grün-Upgrades durchführen.

Führen Sie den folgenden Befehl aus, um ein Upgrade rückgängig zu machen:

gcloud container node-pools rollback NODE_POOL_NAME \
    --cluster CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION

Dabei gilt:

  • NODE_POOL_NAME ist der Name des Knotenpools, für den ein Rollback durchgeführt werden soll.
  • CLUSTER_NAME ist der Name des Clusters des Knotenpools, für den das Upgrade rückgängig gemacht werden soll.
  • CONTROL_PLANE_LOCATION: Der Standort (Region oder Zone) für die Steuerungsebene, z. B. us-central1 oder us-central1-a.

Weitere Informationen finden Sie in der Dokumentation zu gcloud container node-pools rollback.

Upgrade für Knotenpools ausführen

Wenn Sie die Blau/Grün-Upgradestrategie verwenden, können Sie während der Betriebsphase ein Upgrade für einen Knotenpool ausführen und die restliche Betriebszeit überspringen.

Informationen zum Abschluss eines Knotenpool-Upgrades finden Sie unter Knoten-Upgrade abschließen.

Führen Sie den folgenden Befehl aus, um ein Upgrade bei Verwendung der Blau/Grün-Upgradestrategie durchzuführen:

gcloud container node-pools complete-upgrade NODE_POOL_NAME \
    --cluster CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION

Dabei gilt:

  • NODE_POOL_NAME ist der Name des Knotenpools, für den Sie das Upgrade ausführen möchten.
  • CLUSTER_NAME ist der Name des Clusters des Knotenpools, für den Sie das Upgrade ausführen möchten.
  • CONTROL_PLANE_LOCATION: Der Standort (Region oder Zone) für die Steuerungsebene, z. B. us-central1 oder us-central1-a.

Weitere Informationen finden Sie in der Dokumentation zu gcloud container node-pools complete-upgrade.

Nächste Schritte