Prerequisiti generali

Come spiegato nella panoramica della creazione del parco risorse, i cluster GKE on-premise su VMware e su bare metal e i cluster multicloud (sia su AWS che su Azure) vengono registrati automaticamente al parco risorse del progetto al momento della creazione del cluster. Tuttavia, i cluster GKE su Google Cloud e i cluster Kubernetes di terze parti (cluster collegati) devono essere registrati manualmente per partecipare al tuo parco risorse. Puoi trovare ulteriori dettagli sulle diverse opzioni di registrazione nella panoramica della creazione del parco risorse.

Questa pagina descrive i prerequisiti e i requisiti per registrare manualmente qualsiasi cluster Kubernetes in un parco risorse Google Cloud . Esistono inoltre requisiti specifici separati per i cluster GKE su Google Cloud e per i cluster collegati. Una volta completata questa guida, segui le istruzioni per il tipo di cluster che vuoi registrare.

Ti consigliamo di esaminare le limitazioni generali alla registrazione dei cluster prima di iniziare.

Installare gli strumenti a riga di comando

Assicurati di aver installato i seguenti strumenti a riga di comando. Se utilizzi Cloud Shell come ambiente shell per interagire con Google Cloud, questi strumenti vengono installati per te.

Installa Google Cloud CLI

Google Cloud CLI è l'interfaccia a riga di comando (CLI) per Google Cloud. Puoi registrare i cluster utilizzando Google Cloud CLI o, a seconda del tipo di cluster, altri strumenti come Terraform o la console Google Cloud . Tuttavia, anche se non lo utilizzi per la registrazione del cluster, gcloud è obbligatorio o utile per molti altri passaggi di configurazione descritti in questa guida.

  1. Se non l'hai ancora installato, installa Google Cloud CLI seguendo le istruzioni di installazione. Ti consigliamo di utilizzare la versione più recente del client della CLI Google Cloud. Per registrare i cluster è necessaria la versione 361.0.0 o successive e la versione 423.0.0 o successive se vuoi utilizzare i comandi di registrazione non legacy per GKE, con il componente alpha o beta installato.

  2. Esegui il seguente comando per accedere a Google Cloud:

    gcloud auth login
  3. (Facoltativo) Assicurati di aver installato il componente gcloud beta, se prevedi di provare le funzionalità alpha o beta:

     gcloud components install beta 

Installa kubectl

Sebbene kubectl non sia necessario per registrare un cluster, potresti averne bisogno per concedere le autorizzazioni RBAC (controllo dell'accesso basato sui ruoli) necessarie all'utente che registra il cluster (se non è il proprietario del cluster), nonché per altre configurazioni specifiche della piattaforma. È necessaria una versione kubectl non inferiore alla versione minima supportata di Kubernetes di Google Kubernetes Engine (GKE).

Ti consigliamo di installare kubectl con Google Cloud CLI.

Per controllare la versione di kubectl:

kubectl version

La versione del client è indicata da gitVersion dell'output.

Per installare kubectl:

gcloud components install kubectl

Abilita API

Devi abilitare le seguenti API nel progetto host del parco risorse:

  • container.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com, nota anche come API Fleet. Si tratta del servizio Google Cloud che gestisce la registrazione del cluster e l'appartenenza al parco.
  • cloudresourcemanager.googleapis.com

I pod nel cluster che vuoi registrare devono essere in grado di raggiungere gli indirizzi googleapis.com e gkeconnect.googleapis.com, direttamente o utilizzando un server proxy configurato.

Se vuoi abilitare Workload Identity del parco risorse per la registrazione, devi attivare anche quanto segue:

  • iam.googleapis.com

Per poter abilitare le API, gli utenti che non sono proprietari del progetto devono disporre dell'autorizzazione serviceusage.services.enable.

gcloud

Esegui il comando seguente per abilitare queste API:

gcloud services enable \
   --project=FLEET_HOST_PROJECT_ID \
   container.googleapis.com \
   gkeconnect.googleapis.com \
   gkehub.googleapis.com \
   cloudresourcemanager.googleapis.com \
   iam.googleapis.com

dove:

Se non vuoi abilitare Workload Identity per il parco risorse, puoi omettere iam.googleapis.com.

Per elencare le API che hai già attivato nei tuoi progetti, segui le istruzioni riportate in Elenco dei servizi nella documentazione relativa all'Service Usage.

Concedi le autorizzazioni di accesso

Assicurati di disporre delle autorizzazioni di accesso appropriate per registrare un cluster. La registrazione del cluster richiede sia l'autorizzazione per registrarlo in un parco risorse sia le autorizzazioni di amministratore sul cluster stesso.

Concedi le autorizzazioni di registrazione del cluster

La registrazione di un cluster richiede autorizzazioni IAM nel progetto host del parco risorse per registrare i cluster. Se disponi del ruolo roles/owner nel progetto host del parco risorse, hai automaticamente le autorizzazioni di accesso necessarie per completare tutte le attività di registrazione.

Se non disponi di roles/owner nel progetto, devi avere ruoli IAM specifici prima di poter connettere i cluster a Google, come segue:

  • Per registrare un cluster con Workload Identity del parco risorse per l'autenticazione su Google, è sufficiente il seguente ruolo IAM:

    • roles/gkehub.admin
  • Alcune opzioni di registrazione al di fuori di Google Cloud richiedono di configurare un account di servizio da utilizzare per l'autenticazione a Google anziché a Workload Identity. Per registrare il cluster e gestire questo account di servizio, devi disporre del seguente insieme di ruoli:

    • roles/gkehub.admin
    • roles/iam.serviceAccountAdmin
    • roles/iam.serviceAccountKeyAdmin
    • roles/resourcemanager.projectIamAdmin

Per un elenco dettagliato delle autorizzazioni incluse nei ruoli gkehub, consulta Collegare i ruoli IAM.

gcloud

Per concedere un ruolo IAM a un utente, esegui questo comando:

gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \
   --member user:GCP_EMAIL_ADDRESS \
   --role=ROLE

dove:

  • FLEET_HOST_PROJECT_ID è l'ID progetto Google Cloud in cui vuoi registrare i cluster. Scopri come trovare questo valore.
  • GCP_EMAIL_ADDRESS è l'account utilizzato dall'utente per accedere Google Cloud.
  • ROLE è il ruolo IAM che vuoi concedere, ad esempio roles/gkehub.admin.

Per scoprire di più su come concedere i ruoli IAM, consulta Concessione, modifica e revoca dell'accesso alle risorse nella documentazione IAM.

Concedi le autorizzazioni di amministratore del cluster

Oltre alle autorizzazioni necessarie per registrare un cluster, devi disporre anche delle autorizzazioni di amministratore sul cluster stesso. A seconda della posizione del cluster, puoi assegnare questa autorizzazione utilizzando i ruoli IAM o controllo dell'accesso basato su ruoli (RBAC) di Kubernetes.

Cluster GKE su Google Cloud

Solo per i cluster GKE su Google Cloud , aggiungi il seguente ruolo IAM per ottenere le autorizzazioni di amministratore sul cluster, se non lo hai già (è probabile che il tuo account utente lo abbia se hai creato il cluster):

  • roles/container.admin

Questo ruolo IAM include il ruolo cluster-admin RBAC di Kubernetes. Per altri ambienti di cluster, devi concedere questo ruolo RBAC utilizzando kubectl, come descritto nella sezione successiva. Per scoprire di più sulla relazione tra i ruoli IAM e RBAC in GKE, consulta la documentazione di GKE.

Cluster esterni a Google Cloud

Per collegare cluster di terze parti esterni a Google Cloud, assicurati che l'utente che registra il cluster abbia il ruolo cluster-admin Kubernetes RBAC.

kubectl

Se hai creato il cluster, probabilmente hai già questo ruolo. Puoi verificare eseguendo il seguente comando:

kubectl auth can-i '*' '*' --all-namespaces

Se tu o un altro utente avete bisogno del ruolo, crea una risorsa ClusterRoleBinding nel cluster:

kubectl create clusterrolebinding BINDING_NAME --clusterrole cluster-admin --user USER

dove:

  • BINDING_NAME è un nome scelto da te per la risorsa ClusterRoleBinding.
  • USER è l'identità utilizzata per l'autenticazione nel cluster.

Passaggi successivi

Segui la guida ai prerequisiti per il tipo di cluster che vuoi registrare: