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 singolo 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.

A seconda del tuo caso d'uso, il cluster GKE sulle registrazioni Google Cloud può richiedere anche quanto segue:

Registra il tuo cluster GKE su Google Cloud

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

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

Registra un nuovo cluster

Se hai abilitato GKE Enterprise, ti consigliamo vivamente di registrare nuovi cluster in un parco risorse durante la creazione del cluster. Questo perché questi cluster "nati nel parco risorse" vengono creati con le impostazioni predefinite a livello di parco risorse per una serie di funzionalità aziendali e con log e metriche consigliati già abilitati. Puoi scoprire di più su questi argomenti nelle seguenti guide:

Se non hai abilitato GKE Enterprise, puoi comunque registrare i cluster durante la creazione del cluster utilizzando queste istruzioni, ma non otterrai una configurazione predefinita a livello di parco risorse.

Console

  1. Nella console Google Cloud, vai alla pagina di creazione del cluster pertinente.

  2. Segui le istruzioni nella documentazione di GKE per completare le sezioni per la creazione di un cluster Autopilot, Standard a livello di regione o Standard di zona dalla console Google Cloud.

  3. Nella sezione Registrazione del parco risorse, seleziona la casella di controllo Registrati in un parco risorse. Per impostazione predefinita, il nome del parco risorse si basa sul tuo ID progetto.

  4. Compila le sezioni rimanenti.

  5. Se hai scelto di creare un cluster Standard e vuoi che quest'ultimo utilizzi la federazione delle identità per i carichi di lavoro del parco risorse (opzione consigliata), fai clic su Sicurezza nel riquadro di navigazione e assicurati che l'opzione Abilita federazione di Workload Identity per GKE sia selezionata. Nei cluster Autopilot questa funzionalità è abilitata per impostazione predefinita.

  6. Dopo aver esaminato i 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 successiva.

La registrazione di un cluster mediante Google Cloud CLI ti fornisce una località di appartenenza a livello 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'appartenenza del cluster. Se esiste già un cluster con questo nome nel parco risorse che hai scelto, il comando restituirà un errore.

  • Per creare e registrare un nuovo cluster GKE Standard con la federazione delle identità per i carichi di lavoro per 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'appartenenza del cluster. Se esiste già un cluster con questo nome nel parco risorse che hai scelto, il comando restituirà un errore.
    • PROJECT_ID: l'ID progetto Google Cloud che sarà proprietario del nuovo cluster.

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

A seconda del cluster che vuoi creare, puoi anche specificare una qualsiasi delle altre opzioni per creare un cluster Standard di zona, Regione standard o Autopilot. Potrebbe essere necessario anche specificare una zona Compute Engine se non hai configurato una zona predefinita per Google Cloud CLI e un progetto Google Cloud come 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-beta. Puoi trovare un riferimento completo per la 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 per Terraform da utilizzare come descritto nei prerequisiti.

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

  1. Specifica il provider google-beta come provider obbligatorio:

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

    Sostituisci VERSION con la versione 5.6.0 o successiva.

  2. Crea e registra un nuovo cluster:

    resource "google_container_cluster" "TF_CLUSTER_RESOURCE_NAME" {
      provider = google-beta
      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: nome univoco per il nuovo cluster GKE che vuoi creare e registrare.
    • ZONE: la zona per la risorsa del cluster GKE. Ad esempio: us-central1-a.
    • FLEET_HOST_PROJECT: l'ID progetto Google Cloud in cui viene creato e registrato il cluster. Se non viene impostata, il cluster non sarà registrato in un parco risorse. Specifica un ID progetto diverso se vuoi registrare il cluster in un parco risorse di 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 in un altro progetto (tutte le opzioni tranne la console Google Cloud). Puoi anche scegliere di registrare alcuni o tutti i cluster esistenti durante l'upgrade a GKE Enterprise.

Per registrare un cluster GKE esistente:

Console

Se vuoi che il cluster utilizzi la federazione delle identità per i carichi di lavoro del parco risorse (opzione consigliata), assicurati che la federazione delle identità per i carichi di lavoro per GKE sia abilitata nel cluster prima di seguire queste istruzioni. Nei cluster Autopilot è abilitata la federazione delle identità per i carichi di lavoro per GKE per impostazione predefinita. Per i cluster con federazione delle identità per i carichi di lavoro per GKE viene abilitata automaticamente la federazione delle identità per i carichi di lavoro 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. Fai clic su Registra accanto al cluster non registrato che vuoi aggiungere al tuo parco risorse.

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

gcloud

Questi comandi richiedono gcloud CLI versione 450.0.0 o successiva.

La registrazione di un cluster mediante Google Cloud CLI ti fornisce una località di appartenenza a livello regionale per impostazione predefinita.

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

  • Per registrare un cluster GKE esistente su Google Cloud nel parco risorse dei relativi progetti, 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'appartenenza del cluster.

  • Per registrare il cluster in un parco risorse in un progetto diverso, utilizza il flag --fleet-project, come mostrato di seguito. Assicurati di aver configurato le autorizzazioni necessarie per la registrazione tra progetti prima di eseguire questo comando.

    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'appartenenza del cluster.
    • Sostituisci PROJECT_ID_OR_NUMBER con l'ID o il numero del progetto host del parco risorse che hai scelto.

Terraform

Puoi registrare i cluster GKE con Terraform utilizzando il provider google-beta. Puoi trovare un riferimento completo per la 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 per Terraform da utilizzare come descritto nei prerequisiti.

Registra un cluster esistente

Per registrare un cluster esistente, aggiungi il blocco seguente alla configurazione delle risorse google_container_cluster del tuo 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 di un altro progetto.

Abilita la federazione di Workload Identity per GKE su un cluster registrato

Puoi utilizzare Terraform per abilitare la federazione di Workload Identity per GKE per un cluster.

Per abilitare la federazione di Workload Identity per GKE per il tuo cluster nuovo o esistente, aggiungi il seguente blocco nella configurazione delle risorse 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 per la risorsa GKEHubMembership nella documentazione di riferimento di Config Connector.

Registra un cluster GKE

Per registrare il cluster, devi prima specificare dove vuoi creare le risorse, seguendo le istruzioni nella 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 nell'esempio seguente:

    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 che hai creato con Config Connector.
    • LOCATION: la zona o la regione che hai scelto per eseguire il provisioning della risorsa cluster GKE. Ad esempio: us-central1-a.

    Per un elenco completo delle opzioni disponibili quando crei 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 località del servizio del parco risorse per cui vuoi gestire l'appartenenza al cluster. Può essere la località del cluster (consigliata) oppure global. Scopri di più nella pagina Località di abbonamento del parco risorse. Non puoi specificare una località diversa da quella del cluster: in questo caso la registrazione non andrà a buon fine.
    • CLUSTER_NAME: il nome che hai scelto per rappresentare in modo univoco il cluster che hai creato con Config Connector.

Registra 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 configurazione seguente 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.

Abilita la federazione di Workload Identity per GKE su un cluster registrato

L'abilitazione della federazione delle identità per i carichi di lavoro per GKE utilizza la stessa configurazione della registrazione di un cluster, con i seguenti passaggi aggiuntivi.

  1. Abilita la federazione di Workload Identity per GKE aggiungendo quanto segue nel campo spec della risorsa ContainerCluster. Devi eseguire questa operazione 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 carichi di lavoro 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 eseguire 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 la configurazione, consulta la nostra guida alla risoluzione dei problemi.

Che cosa succede dopo?