Accedere agli oggetti API di Kubernetes utilizzando un connettore

Un cluster Google Kubernetes Engine (GKE) è costituito da un piano di controllo e da macchine worker denominate nodi. Puoi eseguire i workload Kubernetes containerizzati in un cluster GKE. I nodi sono le macchine worker che eseguono le tue applicazioni containerizzate e altri carichi di lavoro, mentre il control plane è l'endpoint unificato per il tuo cluster. Per maggiori informazioni, consulta la sezione Architettura del cluster GKE.

Il server API Kubernetes viene eseguito sul control plane, consentendoti di interagire con gli oggetti Kubernetes nel cluster tramite chiamate API Kubernetes. Gli oggetti sono entità permanenti nel sistema Kubernetes e rappresentano lo stato del tuo cluster. Per saperne di più, consulta le sezioni Oggetti in Kubernetes e Panoramica dell'API nella documentazione di Kubernetes, che rimandano alle pagine "Riferimento API Kubernetes".

Questo documento mostra come utilizzare il connettore API Kubernetes in un flusso di lavoro per effettuare richieste all'endpoint del servizio Kubernetes ospitato sul control plane di un cluster GKE. Ad esempio, puoi utilizzare il connettore per creare deployment Kubernetes, eseguire job, gestire pod o accedere ad app di cui è stato eseguito il deployment tramite un proxy. Per saperne di più, consulta la panoramica del connettore API Kubernetes.

Prima di iniziare

Prima di procedere con le attività descritte in questo documento, assicurati di aver completato determinati prerequisiti.

Abilita API

Prima di poter accedere agli oggetti API Kubernetes utilizzando il connettore API Kubernetes, devi abilitare le seguenti API:

  • API Kubernetes Engine: per creare e gestire applicazioni basate su container utilizzando GKE
  • API Workflows: per gestire le definizioni e le esecuzioni dei workflow; l'abilitazione dell'API Workflows abilita automaticamente l'API Workflow Execution

Console

Abilita le API:

Abilita le API

gcloud

  1. Nella console Google Cloud , attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Abilita le API:

    gcloud services enable container.googleapis.com workflows.googleapis.com

Crea un account di servizio

Crea un service account gestito dall'utente che funge da identità del flusso di lavoro e concedigli il ruolo Sviluppatore Kubernetes Engine (roles/container.developer) in modo che il flusso di lavoro possa accedere agli oggetti API Kubernetes all'interno dei cluster.

Console

  1. Nella Google Cloud console, vai alla pagina Service account.

    Vai ad Account di servizio

  2. Seleziona un progetto e poi fai clic su Crea service account.

  3. Nel campo Nome service account, inserisci un nome. La console Google Cloud compila il campo ID service account in base a questo nome.

    Nel campo Descrizione service account, inserisci una descrizione. Ad esempio, Service account for Kubernetes API.

  4. Fai clic su Crea e continua.

  5. Nell'elenco Seleziona un ruolo, filtra e seleziona il ruolo Sviluppatore Kubernetes Engine.

  6. Fai clic su Continua.

  7. Per completare la creazione dell'account, fai clic su Fine.

gcloud

  1. Crea l'account di servizio:

    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

    Sostituisci SERVICE_ACCOUNT_NAME con il nome del account di servizio.

  2. Concedi il ruolo container.developer al tuo account di servizio:

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com