Prerequisiti generali

Come hai appreso nella panoramica sulla creazione del parco risorse, i cluster GKE on-premise su VMware e su bare metal e i cluster multicloud (sia su AWS sia su Azure) vengono registrati automaticamente nel 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 essere aggiunti al parco risorse. Puoi trovare maggiori dettagli sulle diverse opzioni di registrazione nella panoramica sulla creazione del parco risorse.

Questa pagina descrive i prerequisiti e i requisiti per la registrazione manuale di qualsiasi cluster Kubernetes in un parco risorse Google Cloud . Esistono anche requisiti specifici separati per i cluster GKE su Google Cloud e i cluster collegati. Dopo aver completato questa guida, segui le istruzioni per il tipo di cluster che vuoi registrare.

Ti consigliamo di esaminare le restrizioni generali sulla 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 automaticamente.

Installare 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, utilizzando altri strumenti come Terraform o la Google Cloud console. Tuttavia, anche se non lo utilizzi per la registrazione dei cluster, gcloud è necessario o utile per molti degli altri passaggi di configurazione descritti in questa guida.

  1. Se non l'hai ancora fatto, installa Google Cloud CLI seguendo le istruzioni di installazione. Ti consigliamo di utilizzare la versione più recente di Google Cloud CLI. Per registrare i cluster, devi utilizzare 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 comando seguente 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 

Installare kubectl

Sebbene kubectl non sia necessario per registrare un cluster, potrebbe essere necessario per concedere le autorizzazioni di controllo dell'accesso basato sui ruoli (RBAC) necessarie all'utente che registra il cluster (se non è il proprietario del cluster), nonché per altre configurazioni specifiche della piattaforma. Devi utilizzare una versione di 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

Abilitare le 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. Questo è il Google Cloud servizio che gestisce la registrazione dei cluster e l'appartenenza al parco risorse.
  • 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 anche abilitare quanto segue:

  • iam.googleapis.com

Prima di poter abilitare le API, i non 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 del parco risorse, puoi omettere iam.googleapis.com.

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

Concedere 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 registrare il cluster in un parco risorse sia le autorizzazioni di amministratore sul cluster stesso.

Concedere le autorizzazioni di registrazione del cluster

Per registrare un cluster, il progetto host del parco risorse deve disporre di autorizzazioni IAM per registrare i cluster. Se ti è stato assegnato il 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 ti è stato assegnato il ruolo roles/owner nel progetto, devi disporre di ruoli IAM specifici prima di poter connettere i cluster a Google, come indicato di seguito:

  • Per registrare un cluster con Workload Identity del parco risorse per l'autenticazione a Google, ti serve solo il seguente ruolo IAM:

    • roles/gkehub.admin
  • Alcune opzioni di registrazione esterne Google Cloud richiedono la configurazione di un account di servizio che il cluster utilizzi per l'autenticazione a Google anziché 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 delle autorizzazioni dettagliate incluse nei ruoli gkehub, consulta la pagina relativa alla connessione dei 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' Google Cloud ID progetto in cui registrare i cluster. Scopri come trovare questo valore.
  • GCP_EMAIL_ADDRESS è l'account utilizzato dall'utente per accedere a Google Cloud.
  • ROLE è il ruolo IAM che vuoi concedere, ad esempio roles/gkehub.admin.

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

Concedere le autorizzazioni amministrative del cluster

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

Cluster GKE su Google Cloud

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

  • roles/container.admin

Questo ruolo IAM include il ruolo cluster-admin per Kubernetes RBAC. Per altri ambienti cluster, devi concedere questo ruolo RBAC utilizzando kubectl, come descritto nella sezione successiva. Puoi scoprire di più sulla relazione tra i ruoli IAM e RBAC in GKE nella 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 per Kubernetes RBAC.

kubectl

Se hai creato il cluster, probabilmente hai già questo ruolo. Puoi verificarlo 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: