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:
- Achten Sie darauf, dass die Google Kubernetes Engine API aktiviert ist. Aktivieren Sie Google Kubernetes Engine API
- Prüfen Sie, ob das Cloud SDK installiert ist.
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.
-
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
- Folgen Sie der Anleitung, um
gcloud
zur Verwendung Ihres Google Cloud-Kontos zu autorisieren. - Erstellen Sie eine neue Konfiguration oder wählen Sie eine vorhandene aus.
- Wählen Sie ein Google Cloud-Projekt aus.
- Wählen Sie eine Compute Engine-Standardzone 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 Compute-Standardzone fest:
gcloud config set compute/zone COMPUTE_ZONE
- Wenn Sie mit 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
Rufen Sie in der Cloud Console das Google Kubernetes Engine-Menü auf.
Klicken Sie auf add_box Erstellen.
Konfigurieren Sie den Cluster wie gewünscht.
Klicken Sie im Navigationsbereich unter Cluster auf Automatisierung.
Klicken Sie das Kästchen Wartungsfenster aktivieren an.
Wählen Sie Startzeit und -dauer sowie die Wochentage aus, an denen das Wartungsfenster ausgeführt werden soll. Für die direkte Bearbeitung von
RRULE
wechseln Sie zum benutzerdefinierten Editor.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:
Rufen Sie in der Cloud Console das Kubernetes Engine-Menü auf.
Klicken Sie auf die Schaltfläche "Bearbeiten" (Stiftsymbol) des Clusters.
Wählen Sie im Abschnitt Wartungsfenster den Beginn und die Dauer sowie anschließend die Wochentage für das Wartungsfenster aus. Für die direkte Bearbeitung von
RRULE
wechseln Sie zum benutzerdefinierten Editor.Klicken Sie auf 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:
Rufen Sie in der Cloud Console das Kubernetes Engine-Menü auf.
Klicken Sie auf die Schaltfläche "Bearbeiten" (Stiftsymbol) des Clusters.
Wählen Sie in der Drop-down-Liste Wartungsfenster die Option Deaktiviert aus.
Klicken Sie auf 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.
Der Wartungsausschluss muss 48 Stunden Wartungszeit in einem rollierenden Zeitfenster von 32 Tagen ermöglichen. Die Dauer Ihrer Wartungsfenster wirkt sich direkt auf den maximalen Wartungsausschluss aus und kann mit der folgenden Formel berechnet werden:
maximum maintenance exclusion (days) = 32-day rolling window - 48 hours maintenance availability / maintenance window hours per day
Wenn Ihr normales Wartungsfenster beispielsweise 4 Stunden lang ist, beträgt der maximale Wartungsausschluss 20 Tage: (32–48/4 = 20).
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 oder ändern Sie einen Wartungsausschluss für einen vorhandenen Cluster:
Rufen Sie in der Cloud Console das Kubernetes Engine-Menü auf.
Klicken Sie auf die Schaltfläche "Bearbeiten" (Stiftsymbol) des Clusters.
Wählen Sie im Abschnitt Wartungsausschluss die Option Wartungsausschluss hinzufügen aus. Legen Sie Beginn und Ende fest.
Klicken Sie auf Speichern.
Als Beispiel wird ein Wartungsausschluss für Black Friday dargestellt.
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:
Rufen Sie in der Cloud Console das Kubernetes Engine-Menü auf.
Klicken Sie auf die Schaltfläche "Bearbeiten" (Stiftsymbol) des Clusters.
Klicken Sie im Abschnitt Wartungsausschluss neben dem Ausschluss, der entfernt werden soll, auf X.
Klicken Sie auf 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
- Mehr über Cluster- und Knotenupgrades erfahren
- Automatisches Knotenupgrade aktivieren
- Cluster manuell aktualisieren