Come hai appreso nella panoramica della creazione del parco risorse, i cluster GKE on-premise su VMware, su bare metal e cluster multi-cloud (sia su AWS che su Azure) vengono registrati automaticamente nel parco risorse di 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 entrare a far parte del 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 anche requisiti separati specifici per i cluster GKE su Google Cloud e i cluster collegati. Una volta completata questa guida, segui le istruzioni per il tipo di cluster che vuoi registrare.
Installa strumenti a riga di comando
Assicurati di avere installato i seguenti strumenti a riga di comando. Se utilizzi Cloud Shell come ambiente shell per interagire con Google Cloud, questi strumenti sono installati automaticamente.
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, utilizzando 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 degli altri passaggi di configurazione in questa guida.
Se non l'hai già installata, installa Google Cloud CLI seguendo le istruzioni di installazione. Ti consigliamo di utilizzare la versione più recente di Google Cloud CLI. Devi avere la versione 361.0.0 o successiva per registrare i cluster e la versione 423.0.0 o successiva se vuoi utilizzare i comandi di registrazione non legacy per GKE con il componente alpha o beta installato.
Esegui questo comando per accedere a Google Cloud:
gcloud auth login
(Facoltativo) Assicurati di aver installato il componente
gcloud beta
se prevedi di provare le funzionalità alpha o beta:gcloud components install beta
Installa kubectl
Anche se kubectl
non è tenuto a registrare un cluster, potrebbe essere necessario che conceda le autorizzazioni necessarie di controllo dell'accesso basato su ruoli (RBAC) 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 di Kubernetes supportata di Google Kubernetes Engine (GKE).
Ti consigliamo di installare kubectl
con Google Cloud CLI.
Per controllare la versione di kubectl
:
kubectl version
La versione client è indicata dalla gitVersion
dell'output.
Per installare kubectl
:
gcloud components install kubectl
Abilita API
Devi abilitare le API seguenti nel progetto host del parco risorse:
container.googleapis.com
gkeconnect.googleapis.com
gkehub.googleapis.com
, nota anche come API Fleet. Questo è il servizio Google Cloud che gestisce la registrazione del cluster e l'appartenenza al parco risorse.cloudresourcemanager.googleapis.com
I pod nel cluster che vuoi registrare devono essere in grado di raggiungere googleapis.com
e
gkeconnect.googleapis.com
di indirizzi, direttamente o tramite un indirizzo configurato
un server proxy.
Se vuoi abilitare Workload Identity per il parco risorse per la registrazione, devi abilitare anche quanto segue:
iam.googleapis.com
Non è necessario concedere l'autorizzazione serviceusage.services.enable
a chi non è proprietario del progetto
prima di poter abilitare le API.
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:
- FLEET_HOST_PROJECT_ID è l'ID progetto Google Cloud in cui vuoi registrare i cluster. Scopri come trovare questo valore.
Se non vuoi abilitare Workload Identity per il parco risorse, puoi omettere iam.googleapis.com
.
Per elencare le API che hai già abilitato nei tuoi progetti, segui le istruzioni in Elenco dei servizi nella documentazione sull'Service Usage.
Concedi le autorizzazioni di accesso
Assicurati di disporre delle autorizzazioni di accesso appropriate per registrare un cluster. La registrazione del cluster richiede l'autorizzazione per registrare il cluster in un parco risorse e le autorizzazioni di amministrazione 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 nel tuo progetto host del parco risorse è presente roles/owner
, lo hai automaticamente e disponi di tutte le autorizzazioni di accesso necessarie per completare tutte le attività di registrazione.
Se non hai roles/owner
nel tuo progetto, devi avere
sono stati concessi ruoli IAM specifici prima di poterti connettere
cluster a Google, come segue:
Per registrare un cluster con Workload Identity del parco risorse per l'autenticazione su Google, è sufficiente seguente ruolo IAM:
roles/gkehub.admin
Alcune opzioni di registrazione esterne a Google Cloud richiedono di configurare un account di servizio che il cluster possa utilizzare per l'autenticazione su Google anziché su Workload Identity. Per registrare il cluster e gestire questo account di servizio, è necessario il 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 di gkehub
, vedi Connettere 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 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 Concessione, modifica e revoca dell'accesso alle risorse nel documentazione di IAM.
Concedi le autorizzazioni di amministratore del cluster
Oltre alle autorizzazioni necessarie per registrare un cluster, sono necessarie anche le autorizzazioni di amministrazione sul cluster stesso. A seconda della località del cluster, puoi assegnare questa autorizzazione utilizzando i ruoli IAM o il controllo degli accessi basato su ruoli (RBAC, Role-Based Access Control) 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 per il cluster, se non le hai già (il tuo account utente è che potrebbe verificarsi se hai creato il cluster):
roles/container.admin
Questo ruolo IAM include
il ruolo Kubernetes RBAC cluster-admin
. Per altro
ambienti cluster che devi concedere a questo ruolo RBAC utilizzando kubectl
, come descritto nella prossima sezione.
Puoi scoprire di più sulla relazione tra IAM e RBAC
in GKE nella documentazione di GKE.
Cluster esterni a Google Cloud
Per collegare cluster di terze parti all'esterno di Google Cloud, assicurati che l'utente che registra il cluster abbia
il ruolo Kubernetes RBAC cluster-admin
.
kubectl
Se hai creato il cluster, probabilmente hai già questo ruolo. Puoi eseguire la verifica 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 il ClusterRoleBinding risorsa.
- USER è l'identità utilizzata per l'autenticazione nel cluster.
Passaggi successivi
Segui la guida ai prerequisiti per il tipo di cluster che vuoi registrare:
- Prerequisiti per i cluster GKE su Google Cloud
- Prerequisiti per i cluster EKS
- Prerequisiti per i cluster AKS
- Prerequisiti per altri tipi di cluster collegati