Notifiche del cluster


Questa pagina descrive in che modo Google Kubernetes Engine (GKE) pubblica notifiche sul cluster in Pub/Sub con informazioni sugli eventi pertinenti alla configurazione del cluster, ad esempio upgrade disponibili e bollettini sulla sicurezza.

Per scoprire come configurare le notifiche relative ai cluster, consulta Ricevere notifiche relative ai cluster.

Panoramica

Quando si verificano determinati eventi pertinenti per i tuoi cluster GKE, come importanti upgrade pianificati o bollettini sulla sicurezza disponibili, GKE pubblica notifiche relative a questi eventi come messaggi negli argomenti Pub/Sub che configuri. Puoi ricevere queste notifiche in un abbonamento Pub/Sub, integrarle con servizi di terze partie filtrare in base ai tipi di notifiche che vuoi ricevere.

Vantaggi

L'utilizzo di Pub/Sub per ricevere le notifiche del cluster fornisce quanto segue vantaggi:

  • Ricevi informazioni proattive sugli aggiornamenti pianificati per il tuo cluster, consentendoti di pianificare meglio i test e le certificazioni e di contribuire a garantire una procedura di upgrade fluida e prevedibile.
  • Riceverai una notifica quando i bollettini sulla sicurezza specifiche per i tuoi cluster, il che ti fornisce informazioni accurate su rischi e impatto.
  • Riceverai una notifica quando è disponibile una nuova versione di GKE a cui puoi eseguire l'upgrade. 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 una maggiore visibilità sulle operazioni in background del tuo cluster.
  • Pub/Sub è altamente estendibile e ti offre la flessibilità di elaborare le notifiche in arrivo. Ad esempio, puoi eseguire l'integrazione con Slack per inoltrare le notifiche a un canale Slack o avviare funzioni Cloud Run per eseguire processi personalizzati.
  • Quando sono richiesti processi personalizzati (ad esempio, l'orchestrazione di una gestione temporanea flusso di lavoro di produzione per testare e certificare un upgrade), puoi utilizzare per attivare automaticamente questi flussi di lavoro.

Tipi di notifiche di upgrade

GKE invia i seguenti tipi di notifiche del cluster:

Puoi filtrare le notifiche che ricevi in modo da ricevere notifiche solo per gli eventi pertinenti. Puoi filtrare le notifiche del cluster specificando un valore per filter nel flag --notification-config quando attivi le notifiche del cluster o configurando la sottoscrizione Pub/Sub.

SecurityBulletinEvent

Quando GKE emette un bollettino sulla sicurezza correlato direttamente alla configurazione o alla versione del tuo cluster, invia una notifica SecurityBulletinEvent con informazioni sulla vulnerabilità, sull'impatto e, se applicabile, sulle azioni che puoi intraprendere.

UpgradeAvailableEvent

Quando una nuova versione diventa disponibile in un canale di rilascio, GKE invia una notifica UpgradeAvailableEvent ai cluster di quel canale di rilascio per informarli che è ora disponibile una nuova versione. Questa notifica fornisce una settimana di anticipo per le versioni patch e almeno 2-4 settimane per le versioni secondarie (a seconda sul canale). Per saperne di più, consulta Quali versioni sono disponibili in canale.

Per i cluster che non si trovano in un canale di rilascio, GKE invia UpgradeAvailableEvent notifiche per tutte le nuove versioni a cui è possibile eseguire l'upgrade dei cluster, incluse le notifiche Patch dell'attuale versione secondaria e della successiva versione secondaria.

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 UpgradeAvailableEvent tipo di notifica per essere a conoscenza dell'upgrade imminente, quindi che puoi eseguire l'upgrade in anticipo o adottare le misure necessarie per prepararti, come l'impostazione di 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 ti interessano. Puoi applicare il filtro in uno dei seguenti modi:

Applicazione di filtri alle notifiche in GKE

Puoi configurare i filtri per uno o più tipi di notifiche disponibili quando abilitando le notifiche del cluster specificando i valori per filter nel Flag --notification-config. filter accetta un elenco delimitato da una barra ( | ) dei tipi di notifiche che vuoi ricevere.

Ad esempio, specificando filter="UpgradeEvent|SecurityBulletinEvent", GKE invia notifiche solo per i tipi di notifiche UpgradeEvent e SecurityBulletinEvent.

Il filtro delle notifiche utilizzando filter offre i seguenti vantaggi:

  • È più facile da usare perché puoi filtrare in base al tipo di notifica senza utilizzare una sintassi specifica.
  • Le notifiche filtrate non vengono mai inviate a Pub/Sub, pertanto non ti vengono addebitate commissioni 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 del cluster.

Applicazione di filtri alle notifiche in Pub/Sub

Pub/Sub supporta l'applicazione di filtri ai messaggi nella sottoscrizione utilizzando un la sintassi dei filtri. Quando utilizzi questo metodo, GKE invia tutti i tipi di notifiche al tuo argomento Pub/Sub. Pub/Sub filtra i messaggi in base alla configurazione della sottoscrizione e consegna i messaggi che vuoi ricevere.

Ad esempio, puoi filtrare per notifiche UpgradeEvent e UpgradeAvailableEvent utilizzando la seguente sintassi nell'abbonamento:

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

Ti verranno comunque addebitati i messaggi non recapitati filtrati in base al tuo abbonamento. Inoltre non puoi modificare i filtri dopo che hai configurato. Tuttavia, la sintassi dei filtri è estensibile rispetto all'applicazione di filtri in GKE.

Per scoprire di più su come filtrare la sottoscrizione Pub/Sub, consulta Filtrare i messaggi.

Utilizzo dei messaggi Pub/Sub

I messaggi Pub/Sub contengono due campi: data (stringa) e attributes (mappa da stringa a stringa).

Per le notifiche GKE, il campo data contiene informazioni leggibili informazioni. Il campo attributes contiene informazioni generiche sulle notifiche, ad esempio il tipo di notifica, l'ID progetto, il nome del cluster e la posizione del cluster. Il campo attributes.payload è una stringa JSON analizzabile che contiene informazioni specifiche sulla notifica, ad esempio 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 posizione del cluster. us-central1-c
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 con JSON che contiene informazioni specifiche per la notifica.
{ "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 tipi di notifiche beta. Tuttavia, puoi analizzare il payload per visualizzare il tipo di notifica GA corrispondente, se presente disponibili.

Messaggi di notifica del cluster di esempio

Oltre al testo nel campo data, ogni messaggio che informa che GKE invia a Pub/Sub ha valori specifici in attributes.type_url e attributes.payload campi. Le tabelle seguenti mostrano esempi di informazioni che potresti ricevere per ogni tipo di notifica:

SecurityBulletinEvent

Di seguito sono riportati 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

Di seguito sono riportati 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 un esempio 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