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

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 \
  --zone COMPUTE_ZONE

Dabei gilt:

  • NODE_POOL_NAME ist der Name des Knotenpools.
  • CLUSTER_NAME ist der Name des Clusters, der den Knotenpool enthält.
  • COMPUTE_ZONE ist die Computing-Zone für den Cluster.

Console

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

  1. Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.

    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 Console 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 \
    --zone COMPUTE_ZONE \
    --enable-autoupgrade

Dabei gilt:

  • NODE_POOL_NAME ist der Name des Knotenpools.
  • CLUSTER_NAME ist der Name des Clusters, der den Knotenpool enthält.
  • COMPUTE_ZONE ist die Computing-Zone für den Cluster.

Console

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

  1. Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.

    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:

gcloud container operations list

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

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

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

Dabei gilt:

  • NODE_POOL_NAME ist der Name des zu beschreibenden Knotenpools.
  • CLUSTER_NAME ist der Name des Clusters des zu beschreibenden Knotenpools.

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 einen Releaseversion 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 deaktivieren, müssen Sie dafür sorgen, dass auf den Knoten des Clusters eine Version ausgeführt wird, die mit der Version des Clusters kompatibel ist, und dass die Version der Supportrichtlinie für Kubernetes-Versionen und Versionsinkompatibilität entspricht. Ab der GKE-Version 1.19 aktualisiert GKE Knoten, auf denen eine nicht unterstützte Version ausgeführt wird, nachdem die Version abgelaufen ist, um den Zustand des Clusters und die Ausrichtung an der Open-Source-Versionsinkompatibilitätsrichtlinie sicherzustellen. 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 \
    --zone COMPUTE_ZONE \
    --no-enable-autoupgrade

Console

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

  1. Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.

    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.

Cluster oder Knotenpool mit aktivierten automatischen Knotenupgrades erstellen

gcloud

Wenn Sie einen Cluster mit aktivierten automatischen Upgrades für den Standard-Knotenpool erstellen möchten, geben Sie im Befehl gcloud container clusters create das Flag --enable-autoupgrade an:

gcloud container clusters create CLUSTER_NAME \
    --zone COMPUTE_ZONE \
    --enable-autoupgrade

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 \
    --zone COMPUTE_ZONE \
    --enable-autoupgrade

Console

Mit der 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
    
  2. Upgrade abbrechen:

    gcloud container operations cancel OPERATION_ID
    

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 Sie beispielsweise ein laufendes Upgrade auf Version 1.23.1-gke.100 anhalten, können Sie das abgebrochene Upgrade fortsetzen. Starten Sie dazu das gleiche Upgrade im Knotenpool noch einmal und richten Sie sich dabei nach Version 1.23.1-gke.100.

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 \
      --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.
  • 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

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.

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

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.

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

Nächste Schritte