Questa pagina descrive in che modo Google Kubernetes Engine (GKE) pubblica le notifiche dei cluster in Pub/Sub, con informazioni sugli eventi pertinenti alla configurazione del cluster, come gli upgrade disponibili e i bollettini sulla sicurezza.
Per scoprire come configurare le notifiche relative al cluster, consulta Ricevere notifiche relative al cluster.
Panoramica
Quando si verificano determinati eventi pertinenti per i tuoi cluster GKE, come importanti upgrade pianificati o bollettini sulla sicurezza disponibili, GKE pubblica le notifiche relative a questi eventi sotto forma di messaggi negli argomenti Pub/Sub che hai configurato. Puoi ricevere queste notifiche su un abbonamento Pub/Sub , eseguire l'integrazione con servizi di terze parti e filtrare in base ai tipi di notifica che vuoi ricevere.
Vantaggi
L'utilizzo di Pub/Sub per ricevere notifiche sui cluster offre i seguenti vantaggi:
- Ricevi informazioni proattive sugli aggiornamenti pianificati per il tuo cluster, in modo da poter pianificare meglio i test e le qualifiche e garantire un processo di upgrade semplice e prevedibile.
- Ricevi una notifica quando vengono emessi bollettini sulla sicurezza specifici per i tuoi cluster, che forniscono informazioni accurate sui rischi e sull'impatto.
- Riceverai una notifica quando potrai eseguire l'upgrade di una nuova versione di GKE. In precedenza, dovevi controllare le note di rilascio di GKE o l'API GKE per scoprire quando è stata rilasciata una nuova versione di GKE.
- Riceverai una notifica quando GKE o un utente avviano gli upgrade del cluster, offrendoti maggiore visibilità sulle operazioni in background del tuo cluster.
- Pub/Sub è altamente estendibile e ti offre flessibilità nell'elaborazione delle notifiche in arrivo. Ad esempio, potresti effettuare l'integrazione con Slack per inoltrare le notifiche a un canale Slack o avviare Cloud Functions per eseguire processi personalizzati.
- Quando sono richiesti processi personalizzati (ad esempio, l'orchestrazione di una gestione temporanea e del flusso di lavoro di produzione per testare e certificare un upgrade), puoi utilizzare la notifica per attivarli automaticamente.
Tipi di notifiche relative agli upgrade
GKE invia i seguenti tipi di notifiche dei cluster:
Puoi filtrare le notifiche che ricevi in modo da ricevere solo le notifiche relative agli eventi pertinenti. Puoi filtrare le notifiche del cluster specificando un valore per filter
nel flag --notification-config
quando abiliti le notifiche del cluster oppure configurando la sottoscrizione Pub/Sub.
SecurityBulletinEvent
Quando GKE pubblica un bollettino sulla sicurezza direttamente correlato alla configurazione o alla versione del cluster, GKE invia una notifica SecurityBulletinEvent
contenente informazioni sulla vulnerabilità, l'impatto e, se applicabile, le azioni che puoi intraprendere.
UpgradeAvailableEvent
Quando una nuova versione diventa disponibile su un canale di rilascio, GKE invia una notifica UpgradeAvailableEvent
ai cluster su quel canale di rilascio per informare i cluster che è ora disponibile una nuova versione. Questa notifica fornisce un preavviso di una settimana per le versioni patch e almeno 2-4 settimane per le versioni secondarie (a seconda del canale). Per saperne di più, consulta Quali versioni sono disponibili in un canale.
UpgradeAvailableEvent
notifiche per tutte le nuove versioni a cui possono eseguire l'upgrade dei cluster, incluse le patch della versione secondaria attuale e della versione secondaria successiva.
Se utilizzi pool di nodi Windows Server, le informazioni sulla versione di Windows vengono inviate
come parte della notifica UpgradeAvailableEvent
.
UpgradeEvent
Quando tu o GKE avviate un upgrade, GKE invia una notifica UpgradeEvent
per informarti che l'upgrade è iniziato. Idealmente, dovresti usare il tipo di notifica UpgradeAvailableEvent
per essere a conoscenza dell'upgrade imminente, in modo da poter eseguire l'upgrade in anticipo o adottare le misure necessarie per prepararti, ad esempio configurare i periodi di manutenzione.
La notifica UpgradeEvent
viene inviata all'inizio dell'operazione di upgrade.
L'ID operazione viene passato nel messaggio.
Filtraggio delle notifiche
Puoi filtrare le notifiche del cluster per assicurarti di ricevere solo quelle che preferisci. Puoi applicare i filtri in uno dei seguenti modi:
Filtro delle notifiche in GKE
Puoi configurare i filtri per uno o più tipi di notifica disponibili durante l'abilitazione delle notifiche del cluster specificando i valori per filter
nel flag --notification-config
. filter
prende un elenco delimitato da barre verticali ( | ) dei tipi di notifiche che vuoi ricevere.
Ad esempio, se specifichi filter="UpgradeEvent|SecurityBulletinEvent"
, indichi a GKE di inviare notifiche solo per i tipi di notifica UpgradeEvent
e SecurityBulletinEvent
.
Filtrare le notifiche utilizzando filter
offre vantaggi come i seguenti:
- Più facile da utilizzare, perché filtri in base al tipo di notifica senza utilizzare una sintassi specifica.
- Le notifiche che filtri non vengono mai inviate a Pub/Sub, quindi non ti vengono addebitate tariffe per i messaggi non recapitati.
- Puoi modificare la configurazione del filtro in qualsiasi momento.
Per istruzioni su come filtrare le notifiche in GKE, consulta Ricevere notifiche relative ai cluster.
Filtrare le notifiche in Pub/Sub
Pub/Sub supporta il filtraggio dei messaggi nella sottoscrizione utilizzando una sintassi di filtro. Se utilizzi questo metodo, GKE fornisce tutti i tipi di notifica all'argomento Pub/Sub. Pub/Sub filtra i messaggi in base alla configurazione della sottoscrizione e recapita i messaggi che vuoi ricevere.
Ad esempio, potresti filtrare le notifiche UpgradeEvent
e UpgradeAvailableEvent
utilizzando la seguente sintassi nella tua sottoscrizione:
attributes.type_url = "type.googleapis.com/google.container.v1beta1.UpgradeEvent" OR "type.googleapis.com/google.container.v1beta1.UpgradeAvailableEvent"
Ti verranno comunque addebitati i costi per i messaggi non recapitati filtrati in base alla sottoscrizione. Inoltre, non puoi modificare i filtri dopo aver configurato l'abbonamento. Tuttavia, la sintassi dei filtri è più estendibile rispetto ai filtri in GKE.
Per scoprire di più su come filtrare la sottoscrizione Pub/Sub, consulta Filtrare i messaggi.
Utilizzo di messaggi Pub/Sub
I messaggi Pub/Sub contengono due campi: data
(stringa) e attributes
(mappa da stringa a stringa).
Per le notifiche di GKE, il campo data
contiene informazioni leggibili. Il campo attributes
contiene informazioni di notifica generiche come il tipo di notifica, l'ID progetto, il nome e la località del cluster.
Il campo attributes.payload
è una stringa analizzabile JSON che contiene informazioni specifiche di notifica, come i dettagli di un bollettino sulla sicurezza.
Le notifiche contengono sempre i seguenti attributi:
Attributo | Descrizione | Esempio | |
---|---|---|---|
project_id |
Il numero del progetto proprietario del cluster. | 123456789 |
|
cluster_location |
La località del cluster. | us-central1-c |
example-location |
cluster_name |
Il nome del cluster. | example-cluster |
|
type_url |
Il tipo di notifica. | type.googleapis.com/google.container.v1beta1.UpgradeEvent
|
|
payload |
Una stringa analizzabile JSON contenente informazioni specifiche delle notifiche. | { "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 invierà sempre beta
tipi di notifiche. Tuttavia, puoi analizzare il payload per visualizzare il tipo di notifica GA corrispondente, se disponibile.
Esempi di messaggi di notifica relativi al cluster
Oltre al testo nel campo data
, ogni messaggio che GKE invia a Pub/Sub contiene valori specifici nei campi attributes.type_url
e attributes.payload
. Le seguenti tabelle mostrano esempi delle informazioni che potresti ricevere per ogni tipo di notifica:
SecurityBulletinEvent
Ecco alcuni esempi di output di un messaggio SecurityBulletinEvent
:
Attributi | |
---|---|
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
Ecco alcuni esempi di output di un messaggio UpgradeAvailableEvent
:
Attributi | |
---|---|
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
Ecco alcuni esempi di output di un messaggio UpgradeEvent
:
Attributi | |
---|---|
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"} |
Passaggi successivi
- Scopri come ricevere notifiche relative ai cluster.
- Scopri come configurare le notifiche del cluster per i servizi di terze parti.