Registra un cluster su Google Cloud nel tuo parco risorse

Questa pagina mostra come aggiungere un cluster GKE su Google Cloud al tuo parco risorse. A seconda del progetto e del caso d'uso, puoi utilizzare la console Google Cloud , Terraform, Config Connector o Google Cloud CLI per la registrazione. Puoi anche creare e registrare un nuovo cluster in un unico passaggio utilizzando Google Cloud CLI, la console Google Cloud o Terraform.

Prima di iniziare

Assicurati di aver seguito i prerequisiti generali per la registrazione di un cluster. Ti consigliamo inoltre di esaminare le limitazioni generali alla registrazione dei cluster in Pianificare le risorse del parco risorse.

A seconda del tuo caso d'uso, la registrazione del cluster GKE su Google Cloud potrebbe richiedere anche quanto segue:

Registra il cluster GKE su Google Cloud

Come hai visto nei prerequisiti, ti consigliamo di registrare i cluster GKE con la federazione delle identità per i carichi di lavoro della flotta abilitata, che fornisce un modo coerente per autenticare le applicazioni alle API e ai servizi Google Cloud . Per scoprire di più sui vantaggi dell'attivazione di Workload Identity Federation per GKE del parco risorse, consulta Utilizzare Workload Identity Federation per GKE del parco risorse. La registrazione dei cluster utilizzando una delle seguenti opzioni consente di abilitare Workload Identity Federation for GKE del parco risorse, se necessario.

Puoi scegliere se registrare un nuovo cluster durante la creazione o registrarne uno esistente.

Registra un nuovo cluster

Puoi registrare i cluster durante la creazione utilizzando le seguenti istruzioni.

Console

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud .

    Vai a Google Kubernetes Engine

  2. Fai clic su Crea e poi su Configura nella sezione Standard o Autopilot.

  3. Segui le istruzioni nella documentazione di GKE per completare le sezioni per la creazione di un cluster Autopilot, Standard regionale o Standard zonale dalla console Google Cloud .

  4. Completa la registrazione del parco risorse in base alla modalità del cluster:

    • Autopilot: nel riquadro di navigazione, fai clic su Registrazione del parco risorse e seleziona la casella di controllo per registrare il cluster in un parco risorse. Per impostazione predefinita, il nome del parco risorse si basa sull'ID progetto.
    • Standard: nel riquadro di navigazione, fai clic su Impostazioni avanzate, quindi esegui le seguenti operazioni:
      1. Nella riga Registrazione del parco risorse, fai clic su Modifica configurazione, seleziona Registra cluster nel parco risorse e poi fai clic su Salva. Per impostazione predefinita, il nome del parco risorse si basa sull'ID progetto.
      2. Se vuoi che il cluster registrato utilizzi la federazione delle identità per i workload del parco risorse (opzione consigliata), nella riga Workload Identity, fai clic su Modifica configurazione, seleziona Abilita Workload Identity e poi fai clic su Salva. I cluster Autopilot hanno questa funzionalità abilitata per impostazione predefinita.
  5. Compila le sezioni rimanenti.

  6. Al termine della revisione dei dettagli del cluster, fai clic su Crea per creare e registrare il cluster in un parco risorse.

gcloud

Questi comandi richiedono gcloud CLI versione 450.0.0 o successive.

La registrazione di un cluster utilizzando Google Cloud CLI assegna al cluster una posizione di appartenenza regionale per impostazione predefinita.

  • Per creare e registrare un nuovo cluster GKE Autopilot, esegui questo comando:

    gcloud container clusters create-auto CLUSTER_NAME --enable-fleet
    

    Sostituisci CLUSTER_NAME con un nome univoco per il cluster che stai creando. Questo diventerà anche il nome dell'iscrizione del cluster. Se esiste già un cluster con questo nome nel parco risorse scelto, il comando restituirà un errore.

  • Per creare e registrare un nuovo cluster GKE Autopilot come leggero, esegui questo comando:

    gcloud container clusters create-auto CLUSTER_NAME --enable-fleet --membership-type=LIGHTWEIGHT
    
  • Per creare e registrare un nuovo cluster GKE Standard con Workload Identity Federation for GKE abilitata, esegui questo comando:

    gcloud container clusters create CLUSTER_NAME --enable-fleet \
    --workload-pool=PROJECT_ID.svc.id.goog
    

    Sostituisci quanto segue:

    • CLUSTER_NAME: un nome univoco per il cluster che stai creando. Questo diventerà anche il nome dell'iscrizione del cluster. Se esiste già un cluster con questo nome nel parco risorse scelto, il comando restituirà un errore.
    • PROJECT_ID: l'ID progetto Google Cloud per il progetto che sarà proprietario del nuovo cluster.

    Se crei un cluster Standard, ti consigliamo di crearlo con Workload Identity Federation for GKE abilitata, in quanto ciò consente la federazione delle identità per i workload del parco risorse per il cluster registrato. Tuttavia, puoi omettere il flag --workload-pool se non vuoi utilizzare questa funzionalità. I cluster Autopilot hanno Workload Identity Federation for GKE abilitata per impostazione predefinita.

  • Per creare e registrare un nuovo cluster GKE Standard come leggero, esegui il comando seguente:

    gcloud container clusters create CLUSTER_NAME --enable-fleet --membership-type=LIGHTWEIGHT
    

A seconda del cluster che vuoi creare, puoi anche specificare una delle altre opzioni per creare un cluster standard zonale, standard regionale o Autopilot. Potresti anche dover specificare una zona Compute Engine se non hai configurato una zona predefinita per Google Cloud CLI e un progetto Google Cloud di proprietà del cluster se non hai configurato un progetto predefinito.

Scopri di più sulla creazione di diversi tipi di cluster GKE nella documentazione di GKE.

Terraform

Puoi creare e registrare cluster GKE con Terraform utilizzando il provider google. Puoi trovare un riferimento completo alla risorsa google_container_cluster utilizzata per gestire un cluster GKE nel registro Terraform.

Prima di seguire queste istruzioni, assicurati di aver creato un account di servizio da utilizzare con Terraform, come descritto nei prerequisiti.

Per creare e registrare un nuovo cluster, aggiungi i seguenti blocchi alla configurazione di Terraform.

  1. Specifica il provider google come provider obbligatorio:

    terraform {
      required_providers {
        google = {
          source = "hashicorp/google"
          version = "VERSION"
        }
      }
    }
    

    Sostituisci VERSION con 5.6.0 o versioni successive.

  2. Crea e registra un nuovo cluster:

    resource "google_container_cluster" "TF_CLUSTER_RESOURCE_NAME" {
      provider = google
      name               = "CLUSTER_NAME"
      location           = "ZONE"
      initial_node_count = 1
      fleet {
        project = "FLEET_HOST_PROJECT"
      }
    }
    

    Sostituisci quanto segue:

    • TF_CLUSTER_RESOURCE_NAME: un nome univoco per la nuova risorsa google_container_cluster che stai creando.
    • CLUSTER_NAME: un nome univoco per il nuovo cluster GKE che vuoi creare e registrare.
    • ZONE: la zona della risorsa cluster GKE. Ad esempio: us-central1-a.
    • FLEET_HOST_PROJECT: l' Google Cloud ID progetto in cui stai creando e registrando il cluster. Se non è impostato, il cluster non verrà registrato in un parco risorse. Specifica un ID progetto diverso se vuoi registrare il cluster in un parco risorse in un altro progetto.

Registra un cluster esistente

Utilizza una delle seguenti opzioni per registrare i cluster esistenti nel parco risorse del proprio progetto o in un parco risorse di un altro progetto.

Per registrare un cluster GKE esistente:

Console

Se vuoi che il cluster utilizzi la federazione delle identità per i workload del parco risorse (opzione consigliata), assicurati che Workload Identity Federation for GKE sia abilitata sul cluster prima di seguire queste istruzioni. I cluster Autopilot hanno Workload Identity Federation for GKE abilitata per impostazione predefinita. I cluster con Workload Identity Federation for GKE hanno automaticamente abilitata la federazione delle identità per i workload del parco risorse quando li registri dalla console Google Cloud .

  1. Nella console Google Cloud , vai alla pagina Cluster GKE.

    Vai alla pagina Cluster GKE

  2. Accanto al cluster che vuoi registrare, fai clic su Azioni e seleziona Registra.

  3. Fai di nuovo clic su Registra nella finestra di dialogo di conferma visualizzata.

gcloud

Questi comandi richiedono gcloud CLI versione 450.0.0 o successive.

La registrazione di un cluster utilizzando Google Cloud CLI assegna al cluster una posizione di appartenenza regionale per impostazione predefinita.

Entrambi questi comandi abilitano la federazione delle identità per i carichi di lavoro del parco per il cluster se nel cluster è già abilitata la federazione delle identità per i carichi di lavoro per GKE.

  • Per registrare un cluster GKE esistente su Google Cloud nel parco risorse del progetto, esegui questo comando:

    gcloud container clusters update CLUSTER_NAME --enable-fleet
    

    Sostituisci CLUSTER_NAME con il nome del cluster che stai registrando. Questo diventerà anche il nome dell'iscrizione del cluster.

  • Per registrare un cluster GKE esistente su Google Cloud nel parco risorse del suo progetto come leggero, esegui questo comando:

    gcloud container clusters update CLUSTER_NAME --enable-fleet --membership-type=LIGHTWEIGHT
    
  • Per registrare il cluster in un parco risorse in un progetto diverso, utilizza il flag --fleet-project, come mostrato nel comando seguente. Prima di eseguire questo comando, assicurati di aver configurato le autorizzazioni necessarie per la registrazione tra progetti.

    gcloud container clusters update CLUSTER_NAME --fleet-project=PROJECT_ID_OR_NUMBER
    
    • Sostituisci CLUSTER_NAME con il nome del cluster che stai registrando. Questo diventerà anche il nome dell'iscrizione del cluster.
    • Sostituisci PROJECT_ID_OR_NUMBER con l'ID progetto o il numero del progetto host del parco risorse che hai scelto.
  • Per registrare il cluster in un parco risorse in un progetto diverso come leggero, utilizza il flag --fleet-project, come mostrato nel comando seguente. Prima di eseguire questo comando, assicurati di aver configurato le autorizzazioni necessarie per la registrazione tra progetti.

    gcloud container clusters update CLUSTER_NAME --fleet-project=PROJECT_ID_OR_NUMBER /
    --membership-type=LIGHTWEIGHT
    
  • Per convertire un cluster GKE esistente su Google Cloud da leggero a normale, utilizza il seguente comando:

    gcloud container clusters update CLUSTER_NAME --unset-membership-type
    

Terraform

Puoi registrare i cluster GKE con Terraform utilizzando il provider google. Puoi trovare un riferimento completo alla risorsa google_container_cluster utilizzata per gestire un cluster GKE nel registro Terraform.

Prima di seguire queste istruzioni, assicurati di aver creato un account di servizio da utilizzare con Terraform, come descritto nei prerequisiti.

Registra un cluster esistente

Per registrare un cluster esistente, aggiungi il seguente blocco alla configurazione della risorsa google_container_cluster del cluster:

fleet {
        project = "FLEET_HOST_PROJECT"
      }

Sostituisci FLEET_HOST_PROJECT con l'ID progetto Google Cloud a cui appartiene il cluster o con un ID progetto diverso se vuoi registrare il cluster in un parco risorse in un altro progetto.

Abilitare la federazione delle identità per i carichi di lavoro per GKE su un cluster registrato

Puoi utilizzare Terraform per abilitare Workload Identity Federation for GKE per un cluster.

Per abilitare Workload Identity Federation for GKE per il tuo cluster nuovo o esistente, aggiungi il seguente blocco nella configurazione della risorsa google_container_cluster del cluster pertinente:

  workload_identity_config {
    workload_pool = "PROJECT_ID.svc.id.goog"
  }
  ```

 Replace <code><var>PROJECT_ID</var></code> with the Google Cloud project ID for your Terraform resources.

Config Connector

Se hai installato il componente aggiuntivo Config Connector, puoi utilizzare Config Connector per registrare i cluster GKE. Assicurati di avere una versione di Config Connector superiore alla 1.47.0 e di aver creato un account di servizio come descritto nei prerequisiti.

Puoi trovare un riferimento completo alla risorsa GKEHubMembership nella documentazione di riferimento di Config Connector.

Registra un cluster GKE

Per registrare il cluster, specifica innanzitutto dove vuoi creare le risorse, seguendo le istruzioni della guida di Config Connector. Quindi, crea un file YAML per registrare e (facoltativamente) creare un cluster, come segue:

Crea e registra un cluster GKE

  1. Crea un cluster GKE, come nel seguente semplice esempio:

    apiVersion: container.cnrm.cloud.google.com/v1beta1
    kind: ContainerCluster
    metadata:
      name: CLUSTER_NAME
    spec:
      location: LOCATION
      initialNodeCount: 1
    

    Sostituisci quanto segue:

    • CLUSTER_NAME: il nome che hai scelto per rappresentare in modo univoco il cluster creato con Config Connector.
    • LOCATION: la zona o la regione che hai scelto per il provisioning della risorsa cluster GKE. Ad esempio: us-central1-a.

    Per un elenco completo delle opzioni durante la creazione di un cluster GKE con Config Connector, consulta la documentazione di Config Connector.

  2. Registra un'appartenenza per il cluster GKE.

    apiVersion: gkehub.cnrm.cloud.google.com/v1beta1
    kind: GKEHubMembership
    metadata:
      name: MEMBERSHIP_NAME
    spec:
      location: MEMBERSHIP_LOCATION
      endpoint:
        gkeCluster:
          resourceRef:
            name: CLUSTER_NAME
    

    Sostituisci quanto segue:

    • MEMBERSHIP_NAME: il nome dell'appartenenza che hai scelto per rappresentare in modo univoco il cluster registrato nel parco risorse.
    • MEMBERSHIP_LOCATION: la posizione del servizio Fleet in cui vuoi gestire l'appartenenza del cluster. Può essere la posizione del cluster (opzione consigliata) o global. Scopri di più in Posizione del parco risorse. Non puoi specificare una posizione diversa da quella del cluster. In caso contrario, la registrazione non va a buon fine.
    • CLUSTER_NAME: il nome che hai scelto per rappresentare in modo univoco il cluster creato con Config Connector.

Registrare il cluster in un altro progetto

Aggiungi quanto segue al campo metadata della risorsa GKEHubMembership per registrare un cluster in un parco risorse in un altro progetto.

   metadata:
     annotations:
       cnrm.cloud.google.com/project-id: FLEET_PROJECT_ID

Sostituisci quanto segue:

  • FLEET_PROJECT_ID: il progetto host del parco risorse che hai scelto per registrare il cluster GKE.

Registra un cluster esistente

Utilizza la seguente configurazione se vuoi registrare un cluster esistente, indipendentemente da come è stato creato. In questo caso, devi specificare il nome completo della risorsa del cluster in modo che Config Connector possa trovarlo. Sostituisci il campo resourceRef della risorsa GKEHubMembership con:

   resourceRef:
     external: //container.googleapis.com/CLUSTER_RESOURCE_NAME

Sostituisci quanto segue:

  • CLUSTER_RESOURCE_NAME: il nome della risorsa Google Cloud per il cluster GKE. Ad esempio projects/my-project/zones/us-west1-a/clusters/my-cluster.

Se il cluster è stato creato con Config Connector, non è necessario specificare il nome completo del cluster.

Abilitare la federazione delle identità per i carichi di lavoro per GKE su un cluster registrato

L'attivazione di Workload Identity Federation for GKE utilizza la stessa configurazione della registrazione di un cluster, con i seguenti passaggi aggiuntivi.

  1. Abilita Workload Identity Federation for GKE aggiungendo quanto segue nel campo spec della risorsa ContainerCluster. Devi farlo sia per i cluster nuovi che per quelli esistenti.

    spec:
      workloadIdentityConfig:
        workloadPool: PROJECT_ID.svc.id.goog
    

    Sostituisci quanto segue:

  2. Abilita la federazione delle identità per i workload del parco risorse aggiungendo quanto segue nel campo spec del blocco di risorse GKEHubMembership.

    spec:
      authority:
        issuer: https://container.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_NAME
    }
    

    Sostituisci quanto segue:

    • PROJECT_ID: il progetto predefinito che hai scelto tramite l'annotazione dello spazio dei nomi per creare la risorsa del cluster GKE.
    • LOCATION: la zona o la regione che hai scelto per il provisioning della risorsa cluster GKE. Ad esempio: us-central1-a.
    • CLUSTER_NAME: il nome che hai scelto per rappresentare in modo univoco il cluster che hai creato.

Risoluzione dei problemi

Se riscontri problemi durante questa configurazione, consulta la nostra guida alla risoluzione dei problemi.

Passaggi successivi