Wartungsfenster und Ausschlüsse konfigurieren

Auf dieser Seite wird beschrieben, wie Sie mithilfe von Wartungsfenstern und Wartungsausschlüssen steuern, wann automatische Clusterwartungen wie z. B. automatische Upgrades in Ihren Google Kubernetes Engine-Clustern (GKE-Clustern) durchgeführt werden dürfen.

Vorbereitung

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

Mit den folgenden Methoden können Sie die gcloud-Einstellungen festlegen:

  • Verwenden Sie gcloud init, wenn Sie die Standardeinstellungen ansehen möchten.
  • Verwenden Sie gcloud config, um Ihre Projekt-ID, Zone und Region individuell festzulegen.

gcloud init verwenden

Wenn Sie die Fehlermeldung One of [--zone, --region] must be supplied: Please specify location erhalten, führen Sie diesen Abschnitt aus.

  1. Führen Sie gcloud init aus und folgen Sie der Anleitung:

    gcloud init

    Wenn Sie SSH auf einem Remote-Server verwenden, können Sie mit dem Flag --console-only verhindern, dass mit dem Befehl ein Browserfenster geöffnet wird:

    gcloud init --console-only
  2. Folgen Sie der Anleitung, um gcloud zur Verwendung Ihres Google Cloud-Kontos zu autorisieren.
  3. Erstellen Sie eine neue Konfiguration oder wählen Sie eine vorhandene aus.
  4. Wählen Sie ein Google Cloud-Projekt aus.
  5. Wählen Sie eine Compute Engine-Standardzone für zonale Cluster oder eine Region für regionale oder Autopilot-Cluster aus.

gcloud config verwenden

  • Legen Sie Ihre standardmäßige Projekt-ID fest:
    gcloud config set project PROJECT_ID
  • Wenn Sie mit zonalen Clustern arbeiten, legen Sie die Standardzone für Compute Engine fest:
    gcloud config set compute/zone COMPUTE_ZONE
  • Wenn Sie mit Autopilot oder regionalen Clustern arbeiten, legen Sie die Compute-Standardregion fest:
    gcloud config set compute/region COMPUTE_REGION
  • Aktualisieren Sie gcloud auf die neueste Version:
    gcloud components update

Wartungsfenster konfigurieren

Mit der Konfiguration eines Wartungsfensters legen Sie fest, wann es beginnt, wie lange es dauert und wie oft es sich wiederholen soll. So können Sie beispielsweise ein Wartungsfenster konfigurieren, das sich wöchentlich von Montag bis Freitag wiederholt.

Sie können ein Wartungsfenster mit der Google Cloud Console oder dem gcloud-Befehl konfigurieren.

.

Cluster mit einem einfachen Wartungsfenster erstellen

Sie können in gcloud ein einfaches Wartungsfenster durch Angabe des Flags --maintenance-window erstellen. Mit diesem Flag können Sie ein tägliches Wartungsfenster von vier Stunden in einem vereinfachten Format festlegen.

Führen Sie den folgenden Befehl aus, um einen neuen Cluster mit einem einfachen Wartungsfenster zu erstellen:

gcloud container clusters create cluster-name \
  --maintenance-window start-time

Dabei gilt:

  • cluster-name ist der Name des neuen Clusters.
  • start-time ist auf einen 24-Stunden-Zeitstempel in UTC festgelegt, z. B. 16:00.

Das Wartungsfenster wird täglich zur angegebenen start-time ausgeführt und dauert vier Stunden.

Cluster mit Wartungsfenster erstellen

Mit dem gcloud-Tool oder der Google Cloud Console können Sie einen neuen Cluster mit einem Wartungsfenster erstellen.

gcloud

Führen Sie den folgenden Befehl aus, um einen neuen Cluster mit einem Wartungsfenster zu erstellen:

gcloud container clusters create cluster-name \
  --maintenance-window-start start-time \
  --maintenance-window-end end-time \
  --maintenance-window-recurrence rrule

Dabei gilt:

  • cluster-name ist der Name des neuen Clusters.
  • start-time ist ein DTSTART gemäß RFC-5545.
  • end-time wird im selben Format wie start-time angegeben, aber nur zur Berechnung der Dauer des Wartungsfensters verwendet. Der Wert für end-time muss relativ zu start-time in der Zukunft liegen.
  • rrule ist RFC-5545 RRULE. Dieses Format ist äußerst flexibel und besitzt mehrere Möglichkeiten zur Festlegung von Wiederholungsregeln.

Mit dem folgenden Befehl wird beispielsweise der Cluster my-cluster mit einem Wartungsfenster erstellt, das am 1. August 2019 um 2:00 Uhr (UTC) beginnt, vier Stunden später endet und täglich ausgeführt wird. Weitere Informationen zur Formatierung von Datumsangaben und Uhrzeiten finden Sie unter Datum/Uhrzeit mit gcloud festlegen.

gcloud container clusters create my-cluster \
  --maintenance-window-start 2019-08-01T02:00:00Z \
  --maintenance-window-end 2019-08-01T06:00:00Z \
  --maintenance-window-recurrence FREQ=DAILY

Console

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

    Zur Seite "Google Kubernetes Engine"

  2. Klicken Sie auf Erstellen.

  3. Konfigurieren Sie den Cluster wie gewünscht.

  4. Klicken Sie im Navigationsbereich unter Cluster auf Automatisierung.

  5. Klicken Sie auf das Kästchen Wartungsfenster aktivieren.

  6. Wählen Sie die Startzeit und die Dauer und dann die Wochentage für das Wartungsfenster aus. Um die Spezifikation der Wiederholungsregel (RRule) direkt zu bearbeiten, wählen Sie Benutzerdefinierter Editor aus.

  7. Klicken Sie auf Erstellen.

Wartungsfenster für einen vorhandenen Cluster konfigurieren

gcloud

Führen Sie den folgenden Befehl aus, um ein Wartungsfenster für einen vorhandenen Cluster zu erstellen oder zu aktualisieren:

gcloud container clusters update cluster-name \
  --maintenance-window-start start-time \
  --maintenance-window-end end-time \
  --maintenance-window-recurrence rrule

Dabei gilt:

  • cluster-name ist der Name des vorhandenen Clusters.
  • start-time ist ein DTSTART gemäß RFC-5545.
  • end-time wird im selben Format wie start-time angegeben, aber nur zur Berechnung der Dauer des Wartungsfensters verwendet. Der Wert für end-time muss relativ zu start-time in der Zukunft liegen.
  • rrule ist RFC-5545 RRULE. Dieses Format ist äußerst flexibel und besitzt mehrere Möglichkeiten zur Festlegung von Wiederholungsregeln.

Console

So erstellen oder ändern Sie ein Wartungsfenster für einen vorhandenen Cluster:

  1. Rufen Sie in der 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 unter Automatisierung neben dem Feld Wartungsfenster auf Wartungsrichtlinie bearbeiten.

  4. Klicken Sie auf das Kästchen Wartungsfenster aktivieren.

  5. Wählen Sie die Startzeit und die Dauer und dann die Wochentage für das Wartungsfenster aus. Um die Wiederholungsregel (RRule) direkt zu bearbeiten, wählen Sie Benutzerdefinierter Editor aus.

  6. Klicken Sie auf Änderungen speichern.

Unvollständige Wartung manuell fertigstellen

Wenn ein Upgrade oder eine andere automatische Wartung mehr Zeit als mit dem Wartungsfenster vorgesehen benötigt, versucht GKE, die laufenden Wartungsaufgaben zu beenden und im nächsten Wartungsfenster fortzusetzen. Wenn ein automatisches Upgrade abgebrochen wird und automatische Upgrades für Knoten aktiviert sind, können für die Knoten unterschiedliche Versionen aktiv sein. Der Cluster sollte jedoch wie gewohnt funktionieren.

Wenn Sie Ihren Cluster manuell aktualisieren oder ein teilweises Upgrade abbrechen bzw. rückgängig machen möchten, rufen Sie Manuelles Upgrade eines Clusters auf.

Wartungsfenster entfernen

gcloud

Führen Sie zum Entfernen eines Wartungsfensters aus einem Cluster diesen Befehl aus:

gcloud container clusters update cluster-name --clear-maintenance-window

Dabei ist cluster-name der Name des vorhandenen Clusters.

Console

So entfernen Sie ein Wartungsfenster:

  1. Rufen Sie in der 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 unter Automatisierung neben dem Feld Wartungsfenster auf Wartungsrichtlinie bearbeiten.

  4. Entfernen Sie das Häkchen von Wartungsfenster aktivieren.

  5. Klicken Sie auf Änderungen speichern.

Beispiele für Wartungsfenster

In den folgenden Beispielen werden verschiedene Möglichkeiten zur Konfiguration eines Wartungsfensters dargestellt. Es werden nur die relevanten Flags angezeigt. Die dafür verwendete Syntax gilt auch für das Erstellen eines neuen oder für das Aktualisieren eines vorhandenen Clusters.

Wöchentlich dienstags und mittwochs ab dem 27. August 2019 den ganzen Tag

In diesem Beispiel ist der Abstand zwischen den Zeitstempeln für Start und Ende ein ganzer Tag. Das Wartungsfenster ist also dienstags und mittwochs jeweils 24 Stunden lang aktiv.

--maintenance-window-start 2019-08-27T00:00:00Z \
--maintenance-window-end 2019-08-28T00:00:00Z \
--maintenance-window-recurrence 'FREQ=WEEKLY;BYDAY=TU,WE'
Täglich werktags von 9:00 bis 17:00 Uhr (UTC-4)

In diesem Beispiel wird gezeigt, wie Sie ein tägliches Wartungsfenster einrichten, aber Wochenenden überspringen. Dieses Beispiel verwendet eine andere Zeitzone als UTC.

--maintenance-window-start 2019-09-02T09:00:00-04:00 \
--maintenance-window-end 2019-09-02T17:00:00-04:00 \
--maintenance-window-recurrence 'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR'
Wöchentlich um 16 Uhr für 8 Stunden (UTC-7)

Wenn Sie keine Zeitzone für --maintenance-window-start angeben, wird die in Ihrem Google Cloud-Konto konfigurierte Ortszeit verwendet. Die Google Cloud Console verwendet immer die Ortszeit.

--maintenance-window-start 2019-08-13T16:00:00-7:00 \
--maintenance-window-end 2019-08-14T00:00:00-7:00 \
--maintenance-window-recurrence FREQ=WEEKLY

Wartungsausschluss konfigurieren

Zum Konfigurieren eines Wartungsausschlusses müssen Sie einen Namen (optional), den Beginn und das Ende festlegen. Der Wartungsausschluss kann mehrere Tage umfassen.

Sie können für beliebige Zeitpunkte maximal drei Wartungsausschlüsse für einen Cluster konfigurieren. Sie haben außerdem die Möglichkeit, Wartungsausschlüsse manuell zu entfernen, unabhängig davon, ob sie bereits ausgeführt wurden.

Wartungsausschlüsse lassen sich mit der Google Cloud Console oder mit dem gcloud-Befehl konfigurieren.

Cluster mit Wartungsausschluss erstellen

So erstellen Sie einen Cluster mit einem Wartungsausschluss:

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

    Zur Seite "Google Kubernetes Engine"

  2. Klicken Sie auf Erstellen.

  3. Konfigurieren Sie den Cluster wie gewünscht.

  4. Klicken Sie im Navigationsbereich unter Cluster auf Automatisierung.

  5. Klicken Sie unter Wartungsausschlüsse auf Wartungsausschluss hinzufügen.

  6. Wählen Sie eine Startzeit und eine Endzeit aus.

  7. Klicken Sie auf Erstellen.

Als Beispiel wird ein Wartungsausschluss für Black Friday dargestellt.

Wartungsausschluss für einen vorhandenen Cluster konfigurieren

gcloud

Um einen Wartungsausschluss für einen vorhandenen Cluster zu konfigurieren, führen Sie folgenden Befehl aus:

gcloud container clusters update CLUSTER_NAME \
  --add-maintenance-exclusion-name EXCLUSION_NAME
  --add-maintenance-exclusion-start START_DATE_TIME \
  --add-maintenance-exclusion-end END_DATE_TIME

Dabei gilt:

  • CLUSTER_NAME: Der Name Ihres Clusters.
  • EXCLUSION_NAME: Der Name des Wartungsausschlusses.
  • START_DATE_TIME: Das Datum und die Uhrzeit für den Start des Ausschlusses.
  • END_DATE_TIME: Das Datum und die Uhrzeit für das Ende des Ausschlusses.

Zum Aufruf der unterstützten Datums- und Uhrzeitformate führen Sie gcloud topic datetimes aus.

Console

So konfigurieren Sie einen Wartungsausschluss für einen vorhandenen Cluster:

  1. Rufen Sie in der 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 unter Automatisierung neben dem Feld Wartungsausschlüsse auf Wartungsausschlüsse bearbeiten.

  4. Klicken Sie unter Wartungsausschlüsse auf Wartungsausschluss hinzufügen.

  5. Wählen Sie eine Startzeit und eine Endzeit aus.

  6. Klicken Sie auf Änderungen speichern.

Wartungsausschluss entfernen

Ein Cluster kann maximal drei aktive, nicht abgelaufene Wartungsausschlüsse für beliebige Zeitpunkte haben.

gcloud

Führen Sie den folgenden Befehl aus, um einen vorhandenen Wartungsausschluss zu entfernen:

gcloud container clusters update cluster-name \
  --remove-maintenance-exclusion exclusion-name

Dabei gilt:

  • cluster-name ist der Name des vorhandenen Clusters.
  • exclusion-name ist der Name des Wartungsausschlusses, der entfernt werden soll.

Console

So entfernen Sie einen Wartungsausschluss aus einem vorhandenen Cluster:

  1. Rufen Sie in der 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 unter Automatisierung neben dem Feld Wartungsausschlüsse auf Wartungsausschlüsse bearbeiten.

  4. Klicken Sie unter Wartungsausschlüsse neben dem Feld Endzeit für den Ausschluss, der entfernt werden soll, auf Element löschen.

  5. Klicken Sie auf Änderungen speichern.

Wenn Sie alle Wartungsausschlüsse für einen Cluster sehen möchten, können Sie die Wartungsrichtlinien des Clusters aufrufen.

Beispiel für einen Wartungsausschluss

Im folgenden Beispiel wird die Wartung über vier Tage vom Black Friday bis zum Cyber Monday verhindert. Das ist für viele Einzelhändler der umsatzstärkste Zeitraum des Jahres. Im Beispiel wird gezeigt, wie Sie ein Wartungsfenster vom Black Friday 2019 (29. November 2019) bis zum Cyber Monday 2019 (2. Dezember 2019) von Mitternacht an der Ostküste (UTC-5) bis 23:59:59 Uhr an der Westküste (UTC-7) ausschließen.

gcloud container clusters update sample-cluster \
 --add-maintenance-exclusion-name black-friday \
 --add-maintenance-exclusion-start 2019-11-29T00:00:00-05:00 \
 --add-maintenance-exclusion-end 2019-12-02T23:59:59-07:00

Wartungsrichtlinien eines Clusters aufrufen

Verwenden Sie den folgenden Befehl, um die Wartungsrichtlinie eines Clusters anzusehen, einschließlich der Angabe, ob ein Wartungsfenster und alle Wartungsausschlüsse vorhanden sind:

gcloud container clusters describe cluster-name

Nächste Schritte