Clusterbenachrichtigungen

Auf dieser Seite wird beschrieben, wie Google Kubernetes Engine (GKE) Clusterbenachrichtigungen standardmäßig in Cloud Logging und optional in Pub/Sub veröffentlicht. Diese Benachrichtigungen enthalten Informationen zu Ereignissen, die für Ihre Clusterkonfiguration relevant sind, z. B. verfügbare oder laufende Upgrades, Sicherheitsbulletins und End-of-Support-Termine.

Übersicht

Wenn bestimmte Ereignisse auftreten, die für Ihre GKE-Cluster relevant sind, z. B. wichtige verfügbare Upgrades oder Sicherheitsbulletins, sendet GKE diese Benachrichtigungen an Cloud Logging. Informationen zum Suchen dieser Logs in Cloud Logging finden Sie unter Clusterbenachrichtigungen in Cloud Logging ansehen.

GKE veröffentlicht auch Benachrichtigungen zu diesen Ereignissen als Nachrichten in von Ihnen konfigurierten Pub/Sub-Themen. Sie können diese Benachrichtigungen über ein Pub/Sub-Abo erhalten, den Dienst von Drittanbietern einbinden und nach den Benachrichtigungstypen filtern, die Sie erhalten möchten. Weitere Informationen zum Einrichten von Clusterbenachrichtigungen mit Pub/Sub finden Sie unter Clusterbenachrichtigungen über Pub/Sub empfangen.

Vorteile

Clusterbenachrichtigungen bieten folgende Vorteile:

  • Sie werden benachrichtigt, wenn Sicherheitsbulletins speziell für Ihre Cluster ausgegeben werden. Dadurch erhalten Sie genaue Risiko- und Wirkungsinformationen.
  • Sie werden benachrichtigt, wenn eine neue GKE-Version für Ihren Cluster verfügbar ist. So können Sie Tests und Qualifikationen besser planen und einen reibungslosen und prognostizierten Upgradeprozess gewährleisten. Bisher mussten Sie die GKE-Versionshinweise oder die GKE API prüfen, um zu ermitteln, wann eine neue GKE-Version veröffentlicht wurde.
  • Sie werden benachrichtigt, wenn entweder GKE oder ein Nutzer Clusterupgrades initiiert und wenn der Upgradevorgang abgeschlossen ist. Dadurch erhalten Sie einen besseren Einblick in die Hintergrundvorgänge Ihres Clusters.
  • Sie werden benachrichtigt, wenn in Ihrem Cluster eine GKE-Nebenversion ausgeführt wird, die das Ende des Supports erreicht hat oder kurz davor steht.
  • Sie können auswählen, ob Sie Cloud Logging oder Pub/Sub verwenden möchten:

    • Clusterbenachrichtigungen werden standardmäßig an Cloud Logging gesendet. Sie können alle Funktionen von Cloud Logging verwenden, einschließlich Abfragen und Ansehen von Logs und Konfigurieren von logbasierten Benachrichtigungsrichtlinien.
    • Pub/Sub ist sehr erweiterbar, sodass Sie die Verarbeitung eingehender Benachrichtigungen flexibel gestalten können. Sie können beispielsweise Slack integrieren, um Benachrichtigungen an einen Slack-Kanal weiterzuleiten, oder Cloud Run-Funktionen initialisieren, um benutzerdefinierte Prozesse auszuführen. Wenn benutzerdefinierte Prozesse erforderlich sind, z. B. das Orchestrieren eines Staging-Vorgangs für den Produktionsworkflow zum Testen und Zertifizierung eines Upgrades, können Sie diese Workflows mithilfe der Benachrichtigung automatisch auslösen.

Arten von Upgradebenachrichtigungen

GKE sendet die folgenden Clusterbenachrichtigungstypen:

Wenn Sie Clustermeldungen in Cloud Logging aufrufen, können Sie die Funktionen von Cloud Logging verwenden, um die Logs zu filtern. Wenn Sie Pub/Sub verwenden, können Sie empfangene Benachrichtigungen filtern, sodass Sie nur bei relevanten Ereignissen benachrichtigt werden.

SecurityBulletinEvent

Wenn GKE ein Sicherheitsbulletin ausgibt, das sich direkt auf Ihre Clusterkonfiguration oder -version bezieht, sendet GKE eine SecurityBulletinEvent-Benachrichtigung mit Informationen zur Sicherheitslücke, die Auswirkungen und gegebenenfalls Maßnahmen, die Sie ergreifen können.

UpgradeAvailableEvent

Wenn eine neue Version in einer Release-Version verfügbar ist, sendet GKE eine UpgradeAvailableEvent-Benachrichtigung an Cluster in dieser Release-Version, um die Cluster zu informieren, dass jetzt eine neue Version verfügbar ist. Diese Benachrichtigung informiert Sie eine Woche im Voraus über Patchversionen und mindestens zwei bis vier Wochen im Voraus über Nebenversionen (je nach Kanal). Weitere Informationen finden Sie unter In einem Kanal verfügbare Versionen.

Bei Clustern, die sich nicht auf einer Release-Version befinden, sendet GKE UpgradeAvailableEvent-Benachrichtigungen für neue Versionen, auf die Cluster aktualisiert werden können (Patches auf der aktuellen Nebenversion und der nächsten Nebenversion).

Wenn Sie Windows Server-Knotenpools verwenden, werden Informationen zur Windows-Version als Teil der Benachrichtigung UpgradeAvailableEvent gesendet.

UpgradeEvent

Wenn Sie oder GKE ein Upgrade initiieren, sendet GKE eine UpgradeEvent-Benachrichtigung, damit Sie wissen, dass ein Upgrade begonnen hat. Im Idealfall sollten Sie den Benachrichtigungstyp UpgradeAvailableEvent verwenden, um das bevorstehende Upgrade zu kennen, damit Sie entweder ein Upgrade im Voraus ausführen oder erforderliche Maßnahmen ergreifen können, z. B. die Einrichtung von Wartungsfenstern.

Die UpgradeEvent-Benachrichtigung wird zu Beginn des Upgradevorgangs gesendet. Die Vorgangs-ID wird in der Nachricht übergeben.

UpgradeInfoEvent

GKE sendet eine UpgradeInfoEvent-Benachrichtigung für verschiedene Arten von Ereignissen, die in den nächsten Abschnitten beschrieben werden.

Weitere Informationen zum Filtern nach einem bestimmten Typ von UpgradeInfoEvent finden Sie unter Benachrichtigungen zu UpgradeInfoEvent-Clustern filtern.

Upgrade abgeschlossen

Wenn GKE den Vorgang zum automatischen oder manuellen Aktualisieren der Steuerungsebene oder der Knoten eines Clusters abgeschlossen hat, sendet GKE eine Benachrichtigung, um Sie darüber zu informieren. Der Vorgang wird mit einem der folgenden Status abgeschlossen:

  • SUCCEEDED: Die Steuerungsebene oder die Knoten wurden von GKE erfolgreich aktualisiert.
  • FAILED: GKE konnte die Steuerungsebene oder die Knoten nicht aktualisieren.
  • CANCELED: Das Upgrade wurde aus technischen oder geschäftlichen Gründen von GKE abgebrochen oder Sie haben das Upgrade abgebrochen.

Verwenden Sie die Benachrichtigung, um den Erfolg eines Upgrades zu bestätigen.

Nebenversion, deren Supportzeitraum bald abläuft

Wenn in Ihrem Cluster eine GKE-Nebenversion ausgeführt wird, die sich dem Ende des Standardsupports oder dem Ende des erweiterten Supports nähert oder einen dieser Meilensteine erreicht hat, sendet GKE Benachrichtigungen, dass Sie die Steuerungsebene oder die Knoten Ihres Clusters auf die nächste unterstützte Nebenversion aktualisieren müssen. Wenn Sie eine unterstützte Nebenversion verwenden, erhalten Sie weiterhin Sicherheitspatches, Fehlerkorrekturen und Support. GKE sendet 30 Tage vor dem Ende des Supports eine Benachrichtigung und eine weitere Benachrichtigung am Ende des Supports, wenn auf Ihrem Cluster weiterhin die Nebenversion ausgeführt wird.

GKE sendet Benachrichtigungen auf Clusterebene, obwohl mehrere Komponenten Ihres Clusters betroffen sein können und in Ihrem Cluster gleichzeitig verschiedene Nebenversionen ausgeführt werden können. Wenn die Nebenversion das Ende des Standardsupports erreicht und Sie Zeit benötigen, um sich auf ein Upgrade auf eine unterstützte Version vorzubereiten, können Sie zur erweiterten Release-Version wechseln, um Langzeitsupport zu erhalten. Andernfalls plant GKE automatische Upgrades am Ende des Supports. Diese Benachrichtigungen sollen Ihnen helfen, sich auf die Durchsetzung dieser Richtlinien zum Ende des Supports vorzubereiten.

Eine Benachrichtigung enthält die folgenden Details:

  • Der betroffene Cluster.
  • Die aktuelle Version, für die der Support bald oder bereits eingestellt wird.
  • Das Enddatum des Supports.

Weitere Informationen zum Zeitplan für den Support von GKE-Nebenversionen finden Sie unter Lebenszyklus der GKE-Nebenversion.

Neue Patchversionen werden während des erweiterten Supports auf einen neuen Container-Optimized OS-Meilenstein umgestellt

Wenn Ihr Cluster während des erweiterten Supportzeitraums für den Extended Channel registriert ist und der von der GKE-Nebenversion verwendete Container-Optimized OS-Meilenstein vor der Nebenversion das Ende des Supports erreicht, sendet GKE eine Clustermitteilung. GKE sendet diese Benachrichtigung, wenn die erste Patch-Version, die den neuen Meilenstein verwendet, im Extended Channel verfügbar wird.

Diese Benachrichtigung enthält die folgenden Details:

  • Der betroffene Cluster.
  • Die Patchversion, in der der neue Meilenstein verwendet wird.
  • Die vorhandenen und neuen Meilensteine.
  • So pausiert GKE automatische Patch-Upgrades für die Knoten.

Die Patchversion, die den neuen Meilenstein verwendet, wird schließlich zum Ziel für das automatische Upgrade des Clusters und automatische Knotenupgrades werden pausiert. Clusteradministratoren müssen entscheiden, welche der folgenden nächsten Schritte sie ausführen möchten:

  • Aktualisieren Sie die Clusterknoten manuell auf die nächste Patch-Version, die den nächsten Container-Optimized OS-Meilenstein verwendet.
  • Führen Sie ein manuelles Upgrade des Clusters auf die nächste Nebenversion durch.
  • Verzichten Sie auf Patch-Upgrades, bis GKE den Cluster gegen Ende des erweiterten Supports auf die nächste Nebenversion aktualisiert.

Weitere Informationen finden Sie unter Das Ende des Supports für den Container-Optimized OS-Meilenstein wird vor dem Ende des erweiterten Supports für die Nebenversion erreicht.

Clusterbenachrichtigungen in Cloud Logging ansehen

Informationen zum Aufrufen von Logs für GKE-Cluster finden Sie unter Auf Logs zugreifen.

Wenn Sie diese Logs nicht speichern möchten, können Sie einen Ausschlussfilter konfigurieren.

Verwenden Sie den folgenden Filter, um Logs in Cloud Logging aufzurufen und alle Arten von Clusternachrichtigungen zu sehen:

logName=projects/PROJECT_ID/logs/container.googleapis.com%2Fnotifications

Ersetzen Sie dabei PROJECT_ID durch die ID Ihres Projekts in Google Cloud .

Wenn Sie sich Logs für einen bestimmten Clusternachrichtentyp wie UpgradeEvent ansehen möchten, verwenden Sie den folgenden Filter:

jsonPayload.@type=type.googleapis.com/google.container.v1beta1.NOTIFICATION_TYPE

Ersetzen Sie NOTIFICATION_TYPE durch den Benachrichtigungstyp für Cluster für die Logs, die Sie aufrufen möchten.

UpgradeInfoEvent-Clusterbenachrichtigungen filtern

Mit dem folgenden Filter können Sie Logs für eine bestimmte UpgradeInfoEvent aufrufen, z. B. die Benachrichtigung, dass ein Upgrade abgeschlossen ist:

jsonPayload.@type=type.googleapis.com/google.container.v1beta1.UpgradeInfoEvent
jsonPayload.eventType=EVENT_TYPE

Ersetzen Sie EVENT_TYPE durch einen der folgenden Werte:

Benachrichtigungen an Pub/Sub filtern

Sie können Clusterbenachrichtigungen filtern, damit Sie in Pub/Sub nur die gewünschten Benachrichtigungen erhalten. Sie haben folgende Möglichkeiten, Filter für Benachrichtigungen in Pub/Sub anzuwenden:

Informationen zum Ansehen und Filtern von Benachrichtigungen in Cloud Logging finden Sie unter Clusterbenachrichtigungen in Cloud Logging ansehen.

Benachrichtigungen an Pub/Sub in GKE filtern

Sie können die Filterung für einen oder mehrere verfügbare Benachrichtigungstypen für Pub/Sub einrichten, wenn Sie Clusterbenachrichtigungen aktivieren. Geben Sie dazu Werte für filter im Flag --notification-config an. filter verwendet eine durch einen senkrechten Strich ( | ) getrennte Liste der Benachrichtigungstypen, die Sie erhalten möchten.

Wenn Sie beispielsweise filter="UpgradeEvent|SecurityBulletinEvent" angeben, wird GKE angewiesen, Benachrichtigungen nur für die Benachrichtigungstypen UpgradeEvent und SecurityBulletinEvent zu senden.

Das Filtern von Benachrichtigungen mit filter bietet folgende Vorteile:

  • Einfacher zu verwenden, da Sie nach dem Benachrichtigungstyp filtern, ohne eine bestimmte Syntax zu verwenden.
  • Ausgefilterte Benachrichtigungen werden nie an Pub/Sub gesendet. Daher werden Ihnen keine Gebühren für nicht zugestellte Nachrichten berechnet.
  • Sie können die Filterkonfiguration jederzeit bearbeiten.

Eine Anleitung zum Filtern von Benachrichtigungen in GKE finden Sie unter Clusterbenachrichtigungen über Pub/Sub erhalten.

Das Filtern von Benachrichtigungen in GKE hat keinen Einfluss darauf, welche Logs in Cloud Logging angezeigt werden.

Benachrichtigungen in Pub/Sub filtern

Pub/Sub unterstützt das Filtern von Nachrichten in Ihrem Abo mithilfe einer Filtersyntax. Wenn Sie diese Methode verwenden, liefert GKE alle Benachrichtigungstypen an Ihr Pub/Sub-Thema. Pub/Sub filtert Nachrichten basierend auf Ihrer Abokonfiguration und stellt die Nachrichten bereit, die Sie erhalten möchten.

Sie können beispielsweise mit der folgenden Syntax in Ihrem Abo nach UpgradeEvent- und UpgradeAvailableEvent-Benachrichtigungen filtern:

attributes.type_url = "type.googleapis.com/google.container.v1beta1.UpgradeEvent" OR "type.googleapis.com/google.container.v1beta1.UpgradeAvailableEvent"

Für nicht zugestellte Nachrichten fallen weiterhin Gebühren an, die von Ihrem Abo gefiltert wurden. Sie können die Filter nach der Konfiguration des Abos nicht mehr ändern. Die Filtersyntax ist jedoch erweiterbarer als das Filtern in GKE.

Weitere Informationen zum Filtern von Pub/Sub-Abos finden Sie unter Nachrichten filtern.

Pub/Sub-Nachrichten verarbeiten

Pub/Sub-Nachrichten enthalten zwei Felder: data (String) und attributes (String-zu-String-Zuordnung).

Bei GKE-Benachrichtigungen enthält das Feld data für Menschen lesbare Informationen. Das Feld attributes enthält allgemeine Benachrichtigungsinformationen wie den Benachrichtigungstyp, Ihre Projekt-ID, den Clusternamen und den Clusterstandort. Das Feld attributes.payload ist ein JSON-parsbarer String, der bestimmte Benachrichtigungsinformationen enthält, z. B. die Details eines Sicherheitsbulletins.

Benachrichtigungen enthalten immer die folgenden Attribute:

Attribut Beschreibung Beispiel
project_id Die Projektnummer des Clusters. 123456789
cluster_location Der Standort des Clusters. us-central1-c
cluster_name Der Name des Clusters. example-cluster
type_url Die Art der Benachrichtigung. type.googleapis.com/google.container.v1beta1.UpgradeEvent
payload Ein JSON-parsbarer String mit benachrichtigungsspezifischen Informationen.
{ "resourceType":"MASTER",
  "operation":"operation-1595889094437-87b7254a",
  "operationStartTime":"2020-07-27T22:31:34.437652293Z",
  "currentVersion":"1.15.12-gke.2",
  "targetVersion":"1.15.12-gke.9"}

GKE sendet immer beta-Benachrichtigungstypen. Sie können jedoch die Nutzlast parsen, damit der entsprechende GA-Benachrichtigungstyp angezeigt wird, sofern verfügbar.

Beispiele für Clusterbenachrichtigungen

Zusätzlich zum Text im Feld data hat jede Nachricht, die GKE an Cloud Logging oder Pub/Sub sendet, bestimmte Werte in den Feldern attributes.type_url und attributes.payload. Die folgenden Tabellen enthalten Beispiele für die Informationen, die Sie für jeden Benachrichtigungstyp erhalten können:

SecurityBulletinEvent

Die Ausgabe für eine SecurityBulletinEvent-Nachricht sieht in etwa so aus:

Attribute
type_url type.googleapis.com/google.container.v1beta1.SecurityBulletinEvent
payload
{    "resourceTypeAffected":"RESOURCE_TYPE_CONTROLPLANE",
         "bulletinId":"GCP-2021-001",
         "cveIds":[
            "CVE-2021-3156"
         ],
         "severity":"Medium",
         "briefDescription":"A vulnerability was recently discovered in the Linux utility sudo, described in CVE-2021-3156, that may allow an attacker with unprivileged local shell access on a system with sudo installed to escalate their privileges to root on the system.",
         "affectedSupportedMinors":["1.18", "1.19"],
         "patchedVersions":["1.18.9-gke.1900", "1.19.9-gke.1900"],
         "suggestedUpgradeTarget":"1.19.9-gke.1900",
         "bulletinUri":"https://cloud.google.com/anthos/clusters/docs/security-bulletins#gcp-2021-001"
      }
      

UpgradeAvailableEvent

Die Ausgabe sieht für eine UpgradeAvailableEvent-Nachricht in etwa so aus:

Attribute
type_url type.googleapis.com/google.container.v1beta1.UpgradeAvailableEvent
payload
{ "version":"1.17.15-gke.800",
  "resourceType":"MASTER",
  "releaseChannel":{"channel":"RAPID"},
  "windowsVersions": [
    {
      "imageType": "WINDOWS_SAC",
      "osVersion": "10.0.18363.1198",
      "supportEndDate": {
        "day": 10,
        "month": 5,
        "year": 2022
      }
    },
    {
      "imageType": "WINDOWS_LTSC",
      "osVersion": "10.0.17763.1577",
      "supportEndDate": {
        "day": 9,
        "month": 1,
        "year": 2024
      }
    }
  ]
}

      

UpgradeEvent

Die Ausgabe sieht für eine UpgradeEvent-Nachricht in etwa so aus:

Attribute
type_url type.googleapis.com/google.container.v1beta1.UpgradeEvent
payload
{ "resourceType":"MASTER",
  "operation":"operation-1595889094437-87b7254a",
  "operationStartTime":"2020-07-27T22:31:34.437652293Z",
  "currentVersion":"1.15.12-gke.2",
  "targetVersion":"1.15.12-gke.9"}
      

UpgradeInfoEvent

Die Ausgabe sieht etwa so aus wie im folgenden Beispiel für eine UpgradeInfoEvent-Meldung, wenn ein Upgrade-Vorgang abgeschlossen ist, z. B. dieses Beispiel für ein Knotenpool-Upgrade:

Attribute
type_url type.googleapis.com/google.container.v1beta1.UpgradeInfoEvent
payload
{ "currentVersion":"1.31.1-gke.1846000",
  "endTime":"2024-11-06T17:12:54.111640650Z",
  "operation":"operation-1730912205658-de2f88a8-6290-4718-b2c1-fb19611060b8",
  "resource":"projects/PROJECT_ID/locations/CLUSTER_LOCATION/clusters/CLUSTER_NAME/nodePools/NODE_POOL_NAME",
  "resourceType":"NODE_POOL"
  "startTime":"2024-11-06T16:56:45.658321844Z",
  "state":"SUCCEEDED",
  "targetVersion":"1.31.1-gke.2105000"}
      

Diese Ausgabe unterscheidet sich von der Ausgabe, wenn die Meldungen für eine Nebenversion sind, deren Supportende bevorsteht oder bereits erreicht wurde, oder wenn neue Patchversionen während des erweiterten Supports auf einen neuen Container-Optimized OS-Meilenstein umgestellt werden.

Nächste Schritte