Auf dieser Seite wird beschrieben, wie in Google Kubernetes Engine (GKE) Clusterbenachrichtigungen mit Informationen zu Ereignissen, die für Ihre Clusterkonfiguration relevant sind, in Pub/Sub veröffentlicht werden, z. B. verfügbare Upgrades und Sicherheitsbulletins.
Informationen zum Einrichten von Clusterbenachrichtigungen finden Sie unter Clusterbenachrichtigungen erhalten.
Übersicht
Wenn bestimmte Ereignisse auftreten, die für Ihre GKE-Cluster relevant sind, z. B. wichtige geplante Upgrades oder verfügbare Sicherheitsbulletins, veröffentlicht GKE Benachrichtigungen zu diesen Ereignissen als Nachrichten in von Ihnen konfigurierten Pub/Sub-Themen. Sie können diese Benachrichtigungen für ein Pub/Sub-Abo empfangen,Dienste von Drittanbietern einbindenund nach den Benachrichtigungstypen filtern, die Sie erhalten möchten.
Vorteile
Die Verwendung von Pub/Sub zum Empfangen von Clusterbenachrichtigungen bietet folgende Vorteile:
- Sie erhalten proaktive Informationen zu für Ihren Cluster geplanten Updates, mit denen Sie Tests und Qualifikationen besser planen können und der reibungslose und prognostizierte Upgradeprozess gewährleistet ist.
- 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 verfügbar ist, auf die Sie ein Upgrade durchführen können. 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. Dadurch erhalten Sie einen besseren Einblick in die Hintergrundvorgänge Ihres Clusters.
- 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:
Sie können empfangene Benachrichtigungen filtern, sodass Sie nur bei relevanten Ereignissen benachrichtigt werden. Sie können Clusterbenachrichtigungen filtern, wenn Sie beim Aktivieren von Clusterbenachrichtigungen einen Wert für filter
im Flag --notification-config
angeben oder Ihr Pub/Sub-Abo konfigurieren
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.
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 UpgradeAvailableEvent
-Benachrichtigung 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.
Benachrichtigungen filtern
Sie können Clusterbenachrichtigungen filtern, damit Sie nur die gewünschten Benachrichtigungen erhalten. Sie können die Filterung so anwenden:
Benachrichtigungen in GKE filtern
Sie können die Filterung für einen oder mehrere verfügbare Benachrichtigungstypen 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 erhalten.
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 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
Hier einige Ausgabebeispiele aus einer SecurityBulletinEvent
-Nachricht:
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
Hier einige Ausgabebeispiele aus einer UpgradeAvailableEvent
-Nachricht:
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
Hier einige Ausgabebeispiele aus einer UpgradeEvent
-Nachricht:
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"} |
Nächste Schritte
- Clusterbenachrichtigungen erhalten
- Erfahren Sie mehr über die Konfiguration von Clusterbenachrichtigungen für Drittanbieterdienste.