Configurare il cluster per ricevere notifiche via email


Questo tutorial mostra come configurare Application Integration per ricevere notifiche sui cluster di Google Kubernetes Engine (GKE) via email.

Crei un'integrazione con un trigger Pub/Sub per rimanere in ascolto di un argomento esistente che riceve notifiche da un in un cluster Kubernetes. Puoi quindi utilizzare le attività Mappatura dei dati e Trasformatore di dati per trasformare il messaggio Pub/Sub e creare un corpo email in testo normale.

Obiettivi

  • Crea un'applicazione Application Integration per ricevere e trasformare elementi esterni delle notifiche da GKE.
  • Scrivi un'attività Invia email che invii le notifiche Pub/Sub via email.

Costi

In questo documento utilizzi i seguenti componenti fatturabili di Google Cloud:

Per generare una stima dei costi basata sull'utilizzo previsto, utilizza il Calcolatore prezzi. I nuovi utenti di Google Cloud potrebbero essere idonei per una prova gratuita.

Una volta completate le attività descritte in questo documento, puoi evitare la fatturazione continua eliminando le risorse che hai creato. Per ulteriori informazioni, consulta la pagina Pulizia.

Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the GKE, Application Integration and Pub/Sub APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the GKE, Application Integration and Pub/Sub APIs.

    Enable the APIs

  8. Abilita le notifiche del cluster GKE.
  9. Se utilizzi Application Integration nel tuo progetto per la prima volta, assicurati di aver configurato Application Integration.

Ruoli obbligatori

Per assicurarti che service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com disponga del necessario autorizzazioni per configurare notifiche via email per le notifiche del cluster, chiedi all'amministratore di concedere service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com lo i seguenti ruoli IAM sul tuo progetto:

Configura le notifiche del cluster per il tuo cluster GKE

Per utilizzare Pub/Sub per ricevere notifiche sul tuo cluster GKE, consulta Ricevere notifiche del cluster.

Crea nuova integrazione

Per creare una nuova integrazione, segui questi passaggi:

  1. Vai alla pagina Application Integration nella console Google Cloud.

    Vai ad Application Integration

  2. Nel menu di navigazione, fai clic su Integrations (Integrazioni). La pagina Integrations (Integrazioni) .

  3. Fai clic su Crea integrazione.

  4. In Integration name (Nome integrazione), inserisci un nome per l'integrazione che stai creando.

  5. Se hai attivato più regioni, verrà visualizzata un'opzione dell'elenco a discesa per selezionare una regione per l'integrazione. Se è stata attivata una sola regione, verrà utilizzata per impostazione predefinita e il menu a discesa non verrà visualizzato.

    Nota: il menu a discesa Regioni elenca solo le regioni di cui è stato eseguito il provisioning nel progetto Google Cloud. Per eseguire il provisioning di una nuova regione, fai clic su Attiva regione visualizzato nella parte inferiore della finestra.

  6. Fai clic su Crea per aprire l'editor delle integrazioni.

Aggiungi e configura trigger Pub/Sub

Per aggiungere un attivatore Pub/Sub all'integrazione:

  1. Nell'editor dell'integrazione, seleziona Trigger per visualizzare un elenco di trigger disponibili.

  2. Fai clic e posiziona l'elemento trigger Pub/Sub nel designer.

  3. Fai clic sull'elemento trigger Pub/Sub nell'editor dell'integrazione per visualizzarlo nel riquadro di configurazione del trigger.

  4. Specifica l'argomento che l'attivatore deve ascoltare nel campo Argomento Pub/Sub nel seguente formato:

    projects/PROJECT_ID/topics/TOPIC_ID
    

    Sostituisci quanto segue:

  • PROJECT_ID: il progetto Google Cloud in cui l'argomento è stata creata.

  • TOPIC_ID: l'ID dell'argomento Pub/Sub che hai creato in Configurare l'ambiente.

    Ad esempio, se il nome del progetto è my-project e hai chiamato l'argomento gke-notifications, inserisci:

    projects/my-project/topics/gke-notifications
    

    Per visualizzare tutti gli argomenti disponibili nel tuo progetto Google Cloud, consulta la sezione Nome argomento in Argomenti. Il file Pub/Sub del riquadro di configurazione dell'attivatore, compilerà automaticamente il campo Output trigger con una variabile per contenere il messaggio Pub/Sub.

Aggiungere e configurare l'attività mappatura dei dati

L'attività di mappatura dei dati aiuta a estrarre variabili pertinenti Notifica Pub/Sub. Prende il file JSON del messaggio Pub/Sub come input ed estrae le variabili come output.

Per configurare l'attività Mappatura dei dati:

  1. Seleziona Attività per visualizzare un elenco delle attività disponibili.

  2. Fai clic e posiziona l'elemento Mappatura dei dati nell'editor di integrazione.

  3. Fai clic sull'attività Mappatura dei dati nel designer per aprire il riquadro di configurazione per l'attività.

  4. Per aggiungere una connessione perimetrale dal trigger Pub/Sub al mapping dei dati, tieni il puntatore sopra un punto di controllo sul trigger Pub/Sub, trascinare una linea su un punto di controllo nell'attività Mappatura dei dati. Il bordo indica flusso di controllo dal trigger Pub/Sub all'attività di mappatura dei dati.

  5. Fai clic su Apri editor di mappatura dei dati. L'editor di mappatura dei dati ti consente di mappare l'input alle variabili di output selezionate, utilizzando le funzioni di trasformazione disponibili. L'output è quindi disponibile come variabile per qualsiasi altra attività o attivatore di integrazione. Per saperne di più sulle variabili in Application Integration, consulta Variabili.

    Per questo tutorial, segui questi passaggi per creare una mappatura utilizzando CloudPubSubMessage come input:

    1. Espandi la variabile JSON CloudPubSubMessage nell'elenco Variabili e trascina la variabile CloudPubSubMessage.data sulla prima riga Input.
    2. Per creare una nuova variabile di output che contenga il valore dei dati trasformati, fai clic sulla prima riga della colonna Output. Poi:
      1. Nel campo Nome, inserisci message_data.
      2. Nell'elenco Tipo di variabile, seleziona Output dall'integrazione.
      3. Nell'elenco Tipo di dati, seleziona Stringa.
      4. Fai clic su Crea. La variabile message_data viene visualizzata in Output.
    3. Trascina la variabile CloudPubSubMessage.attributes dall'elenco Variabili alla seconda riga della colonna Input.
    4. Fai clic sulla seconda riga della colonna Output per creare una nuova variabile di output per memorizzare il valore del payload JSON con gli attributi del cluster. Completata nei seguenti campi:

      1. Nel campo Nome, inserisci attributes.
      2. Nell'elenco Tipo di variabile, seleziona Nessuna.
      3. Nell'elenco Tipo di dati, seleziona JSON.
      4. Seleziona Inserisci uno schema JSON dalle Opzioni dello schema JSON e incolla il seguente payload:

        {
          "$schema": "http://json-schema.org/draft-07/schema#",
          "type": "object",
          "properties": {
            "cluster_name": {
              "type": "string"
            },
            "payload": {
              "type": "string"
            },
            "project_id": {
              "type": "string"
            },
            "cluster_location": {
              "type": "string"
            },
            "type_url": {
              "type": "string"
            }
          }
        }
        
      5. Fai clic su Crea. La variabile attributes viene visualizzata in Output. Assicurati che la variabile attributes abbia un aspetto simile al seguente:

        Variabili locali di Application Integration

    5. Fai clic sulla terza riga della colonna Input e seleziona attributes.cluster_name dal riquadro Variabili. Potrebbe essere necessario iniziare a digitare attributi per visualizzare tutti e 5 gli attributi definiti dallo schema inseriti nel passaggio precedente.

    6. Fai clic sulla riga corrispondente della colonna Output per creare una nuova variabile di output che conterrà il valore dell'attributo del nome del cluster. Completata nei seguenti campi:

      1. Nel campo Nome, inserisci cluster_name.
      2. Nell'elenco Tipo di variabile, seleziona Output dall'integrazione.
      3. Nell'elenco Tipo di dati, seleziona Stringa.
      4. Fai clic su Crea. La variabile cluster_name viene visualizzata in Output.
    7. Ripeti i passaggi e e f per project_id, cluster_location, type_url e payload.

    8. Chiudi l'editor di mappatura dei dati al termine della mappatura. Qualsiasi modifica verranno salvati automaticamente.

Aggiungi e configura l'attività per la trasformazione dei dati (script)

L'attività Trasformatore dati prende le variabili estratte dall'attività di mappatura dei dati come input e lo trasforma in un corpo del messaggio per l'utilizzo da parte degli utenti finali.

Per configurare l'attività Trasformatore dati:

  1. Seleziona Attività per visualizzare un elenco delle attività disponibili.
  2. Fai clic e posiziona l'elemento Trasformatore dati (script) nell'Editor integrazioni.
  3. Fai clic sull'attività Trasformatore dati nel designer per aprire la configurazione riquadro per l'attività.
  4. Per aggiungere una connessione perimetrale dall'attività di mappatura dei dati all'attività Trasformatore dati, tieni premuto posizionare il puntatore sopra un punto di controllo nella mappatura dei dati, quindi trascinare una linea su un controllo punto sull'attività Trasformatore dati. Il bordo indica il flusso di controllo Attività di mappatura dei dati nell'attività Trasformatore dati.
  5. Fai clic su Apri editor di Data Transformer. L'editor per la trasformazione dei dati scrivi, modifichi e valuti i modelli Jsonnet personalizzati eseguire la mappatura dei dati nell'integrazione. L'output è quindi disponibile come variabile a qualsiasi altra attività o attivatore di integrazione. Per maggiori dettagli su questa attività di Transformer, consulta Data Transformer Task. Per questa guida rapida, segui questi passaggi per creare uno script:

    1. Fai clic su Crea nel riquadro a sinistra Variabili. Sul lato destro si aprirà il riquadro Crea variabile. Completata nei seguenti campi:

      • Nome: inserisci full_message.
      • Seleziona Output from integration nella casella a discesa Tipo di variabile.
      • Seleziona String nella casella a discesa Tipo di dati.
      • Fai clic su Crea per creare la variabile e chiudere il riquadro. La nuova variabile full_message verrà visualizzata nell'elenco Variabili.
    2. Seleziona Script.

    3. Utilizza il seguente script di esempio come modello per il corpo del messaggio quando vengono inviate notifiche dal tuo cluster:

      local message_data = std.extVar("message_data");
      local cluster_name = std.extVar("cluster_name");
      local project_id = std.extVar("project_id");
      local cluster_location = std.extVar("cluster_location");
      local type_url = std.extVar("type_url");
      local payload = std.extVar("payload");
      
      {full_message: "Project ID: " + project_id + "\n" +
                    "Cluster Name: " + cluster_name + "\n" +
                    "Location: " + cluster_location + "\n" +
                    "Event Type: " + type_url + "\n" +
                    "Message: " + message_data + "\n" +
                    "Payload: " + std.manifestJson(std.parseJson(payload))}
      
    4. Chiudi l'editor di mappatura dei dati al termine della mappatura. Eventuali modifiche salvare automaticamente.

Aggiungi e configura l'attività Invia email

Per configurare l'attività Invia email:

  1. Seleziona Attività nell'editor di integrazione per visualizzare l'elenco delle attività disponibili.
  2. Fai clic sull'elemento Invia email e posizionalo nell'editor dell'integrazione.
  3. Per aggiungere una connessione di bordo dall'attività Data Transformer all'attività Invia email, tieni premuto il cursore sopra un punto di controllo nell'attività Data Transformer, quindi trascina una riga fino a un punto di controllo nell'attività Invia email. Il bordo indica il flusso dall'attività Trasformatore dati all'attività Invia email.
  4. Fai clic sull'elemento Send Email (Invia email) del designer per aprire il riquadro di configurazione dell'attività. Imposta le seguenti proprietà:
    1. A destinatari: inserisci un indirizzo email. Utilizzerai questa email per confermare il completamento dell'integrazione.
    2. Oggetto: inserisci GKE Notifications.
    3. Testo normale del corpo: seleziona la variabile full_message creata in precedenza nell'attività Data Transformer.
    4. Le altre opzioni possono essere lasciate nella configurazione predefinita.

Le modifiche apportate alle proprietà vengono salvate automaticamente e il canvas dovrebbe avere l'aspetto simile al seguente:

Canvas di Application Integration

Test d'integrazione

Per testare la nuova integrazione, vai alla barra di navigazione nella parte superiore del diagramma di integrazione e fai clic su Testa. Si aprirà un riquadro sul lato destro. Puoi utilizzare il seguente messaggio Pub/Sub di esempio nella sezione Aggiungi un valore JSON:

{
  "data": "Node pool projects/my-project/locations/us-central1-c/clusters/cluster-1/nodePools/default-pool is upgrading to version 1.29.1-gke.1589017.",
  "attributes": {
    "cluster_location": "us-central1-c",
    "cluster_name": "cluster-1",
    "payload": "{\"resourceType\":\"NODE_POOL\",\"operation\":\"operation-upgrade\",\"operationStartTime\":\"2024-05-07T20:09:35.528855756Z\",\"currentVersion\":\"1.28.7-gke.1026000\",\"targetVersion\":\"1.29.1-gke.1589017\",\"resource\":\"projects/my-project/locations/us-central1-c/clusters/cluster-1/nodePools/default-pool\"}",
    "project_id": "my-project",
    "type_url": "type.googleapis.com/google.container.v1beta1.UpgradeEvent"
  }
}

Viene inviata un'email all'indirizzo email che hai configurato in Invia email dopo aver fatto clic sul pulsante Testa integrazione.

Pubblicare l'integrazione

Dopo aver testato questa integrazione con successo, fai clic su Pubblica per l'integrazione. per iniziare a elaborare i messaggi.

Puoi modificare solo una versione DRAFT dell'integrazione ed eseguire solo ACTIVE o la versione più recente dell'integrazione. Se vuoi modificare l'integrazione, fai clic su Attiva modifica nella pagina del designer di integrazione e poi crea una versione di bozza. Per ulteriori informazioni, consulta Blocchi di modifica dell'integrazione.

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.

Elimina il progetto

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Elimina singole risorse

  1. Eliminare Application Integration.

  2. Elimina l'argomento Pub/Sub.

Passaggi successivi