Questo documento spiega come creare cluster creati con Google Distributed Cloud software per VMware disponibile per la gestione nella console Google Cloud. Ciò include la gestione di base, come la possibilità di accedere ai cluster e visualizzare dei carichi di lavoro e come abilitare la gestione del ciclo di vita dei cluster puoi eseguire l'upgrade, aggiornare ed eliminare i cluster.
Membri del parco risorse e console
Tutti i cluster Google Distributed Cloud devono essere membri di un fleet: un modo unificato di visualizzare e gestire più cluster e i relativi carichi di lavoro. Ogni parco risorse di cluster è associato a un progetto host del parco risorse.
In Google Distributed Cloud, un cluster di amministrazione viene registrato in un parco risorse al momento della creazione
specificando il progetto host del parco risorse nella sezione gkeConnect
del
di configurazione del cluster. Google Distributed Cloud utilizza queste informazioni per
Registra il tuo cluster nel progetto del parco risorse specificato. Se la registrazione
non è andato a buon fine, puoi riprovare la registrazione eseguendo gkectl update credentials register
.
Tieni presente che quando tenti di effettuare la registrazione, non devi aggiornare il campo connect-register chiave dell'account di servizio. In altre parole, puoi continuare a utilizzare il servizio Connect-register originale . Per ulteriori informazioni sul comando, consulta la sezione Rotazione delle chiavi degli account di servizio.
In Google Distributed Cloud, un cluster utente viene registrato in un parco risorse al momento della creazione volta:
Quando crei un cluster utente utilizzando
gkectl
, specifichi il progetto host del parco risorse nella sezionegkeConnect
del file di configurazione del cluster. Google Distributed Cloud utilizza queste informazioni per registrare il cluster nel progetto del parco risorse specificato.Quando crei un cluster utente utilizzando uno strumento standard (il comando console Google Cloud, Google Cloud CLI o Terraform) il cluster diventa automaticamente un membro del parco risorse nel progetto specificato.
Sono visualizzati i membri del parco risorse al di fuori di Google Cloud come Google Distributed Cloud nella console nel progetto host del parco risorse, insieme ad altre del parco risorse come GKE su Google Cloud. La misura in cui che puoi gestire da Google Distributed Cloud dalla console dipende da quanto segue:
Se hai configurato l'autenticazione, puoi: accedere ai tuoi cluster e visualizzare i relativi carichi di lavoro e altri dettagli.
Se disponi la gestione del ciclo di vita dei cluster abilitata per il cluster, puoi anche eseguire l'upgrade, aggiornare o eliminare i cluster utente utilizzando la console. Se questa funzione non è abilitata, puoi solo gestisci il ciclo di vita del cluster utilizzando
gkectl
sulla workstation di amministrazione.
Visualizza cluster registrati
Tutti i cluster del parco risorse sono visualizzati Panoramica dei cluster Google Kubernetes Engine nella console. Entrambi ti offrono una panoramica l'intero parco risorse e, per Google Distributed Cloud, ti consente di vedere quali cluster gestite dall'API GKE On-Prem.
Per visualizzare i cluster del parco risorse:
Nella console, vai alla panoramica dei cluster Google Kubernetes Engine .
Seleziona il progetto Google Cloud.
Se nella colonna Type (Tipo) viene visualizzata la vm Google Distributed Cloud, colonna, il cluster è gestito dall'API GKE On-Prem.
Se nella colonna Tipo viene visualizzato Esterno, il cluster non è gestite dall'API GKE On-Prem.
Per visualizzare ulteriori dettagli su un cluster, gli utenti devono accedere e autenticarsi nel cluster. Per farlo, devi:
- Configurare un metodo di autenticazione
- Concedere agli utenti ruoli specifici di Identity and Access Management
Configura l'autenticazione
Come descritto in precedenza, tutti i cluster del parco risorse vengono visualizzati nei cluster GKE di cluster GKE Enterprise nella console. Tuttavia, per vedere altri dettagli come nodi e carichi di lavoro (ed eseguire il ciclo di vita del cluster) attività di gestione, se la funzionalità è abilitata), gli utenti devono accedere eseguire l'autenticazione nel cluster. Per farlo, i cluster registrati devono essere configurati con uno dei seguenti metodi di autenticazione:
Identità Google: questa opzione consente agli utenti di accedere utilizzando i propri Google Cloud Identity, che è l'indirizzo email associato al tuo Google Cloud. Utilizza questa opzione se gli utenti hanno già accesso a Google Cloud con la propria identità Google. Se hai creato il cluster in alla console, puoi accedere al cluster utilizzando i tuoi account Google ma dovrai configurare l'autenticazione per gli altri utenti.
Accedi con l'identità Google è l'approccio più semplice all'autenticazione nel alla console Cloud, in particolare se stai provando Google Distributed Cloud con un'installazione minima, quindi abbiamo descritto come effettuare la configurazione più dettagliatamente di seguito in Configura l'autenticazione dell'identità Google.
OpenID Connect (OIDC): questa opzione consente agli utenti di accedere ai cluster dalla utilizzando la propria identità da un'identità OIDC di terze parti come Okta o Microsoft AD FS. Ti consigliamo di utilizzare questa opzione se I tuoi utenti hanno nomi utente, password e iscrizioni a gruppi di sicurezza esistenti del tuo provider. Puoi scoprire come configurare un file OIDC di terze parti l'autenticazione basata sui cluster nelle guide seguenti:
Configura i cluster per il servizio di identità GKE con OIDC: Questa guida mostra come configurare l'autenticazione OIDC su un cluster in base ai cluster.
Configura GKE Identity Service per un parco risorse: Questa opzione ti consente di configurare OIDC a livello di parco risorse.
Token di connessione: se le soluzioni fornite da Google precedenti non sono adatte per organizzazione, puoi configurare l'autenticazione utilizzando un servizio Kubernetes e l'utilizzo del proprio token di connessione per accedere. Per maggiori dettagli, consulta la sezione Configurazione utilizzando un token di connessione.
Concedi i ruoli richiesti
L'accesso alla console è controllato Identity and Access Management (IAM). Questi ruoli IAM non sono obbligatori a prescindere dal metodo di autenticazione scelto. per gestire il ciclo di vita del cluster nella console devi concedere alcuni ruoli IAM.
Per consentire agli utenti di accedere almeno alla console, devi: assegna i seguenti ruoli:
roles/container.viewer
. Questo ruolo consente agli utenti di visualizzare Cluster e altre risorse container nella console. Per maggiori dettagli sulle autorizzazioni incluse in questo ruolo o per concedere una ruolo con autorizzazioni di lettura/scrittura, consulta Ruoli di Kubernetes Engine nella documentazione di IAM.roles/gkehub.viewer
. Questo ruolo consente agli utenti di visualizzare i cluster esterni Google Cloud nella console. Per maggiori dettagli sui autorizzazioni incluse in questo ruolo o per concedere un ruolo con le autorizzazioni di lettura/scrittura autorizzazioni, consulta Ruoli GKE Hub nel documentazione di IAM.
Per consentire agli utenti di gestire il ciclo di vita del cluster nella console, concedi il ruolo IAM
roles/gkeonprem.admin
. La Il ruoloroles/gkeonprem.admin
fornisce agli utenti l'accesso amministrativo al l'API GKE On-Prem, utilizzata dalla console per gestire ciclo di vita del cluster. Per maggiori dettagli sulle autorizzazioni incluse in questo ruolo, vedi Ruoli GKE On-Prem nella documentazione di IAM.
I comandi seguenti mostrano come concedere i ruoli minimi necessari per gestire il ciclo di vita del cluster nella console:
gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \ --member=MEMBER \ --role=roles/container.viewer gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \ --member=MEMBER \ --role=roles/gkehub.viewer gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \ --member=MEMBER \ --role=roles/gkeonprem.admin
dove:
FLEET_HOST_PROJECT_ID
è il progetto host del parco risorse. Per i cluster creato utilizzandogkectl
, questo è il progetto che hai configurato SezionegkeConnect
del file di configurazione del cluster utente. Per cluster creati nella console, questo è il progetto che hai scelto al momento della creazione del cluster.MEMBER
è l'indirizzo email dell'utente nel formatouser:emailID
, ad esempio:user:alice@example.com
Abilita la gestione del ciclo di vita dei cluster nella console
I cluster utente creati utilizzando strumenti standard (la console,
gcloud CLI o Terraform) vengono registrati automaticamente
l'API GKE On-Prem e potrai eseguire attività di gestione del ciclo di vita dei cluster
nella console. Se vuoi abilitare questa funzionalità per gli utenti
creati utilizzando gkectl
, segui i passaggi
Configura un cluster utente che dovrà essere gestito dall'API GKE On-Prem.
Quando la gestione del ciclo di vita dei cluster è abilitata, puoi eseguire le seguenti attività
dalla console:
- Eseguire l'upgrade dei cluster utente
- Ridimensiona i cluster utente
- Crea e gestisci i pool di nodi
- Eliminare i cluster utente
Configura l'autenticazione dell'identità Google
Per consentire agli utenti di accedere al cluster utilizzando la loro identità Google, devi: configurare quanto segue:
Gli utenti devono avere ruoli IAM (Identity and Access Management) specifici. di vedere e interagire con i cluster nella console il Elenco di cluster GKE.
Gli utenti devono essere aggiunti al controllo dell'accesso basato su ruoli (RBAC) di Kubernetes criteri che il gateway di connessione deve accedere al server API Kubernetes del cluster tramite Connetti agente.
Configura autorizzazione RBAC
Il server API Kubernetes di ogni cluster deve essere in grado di autorizzare le richieste provengono dalla console. Per configurare l'autorizzazione, devi configurare criteri di controllo dell'accesso basato su ruoli (RBAC) di Kubernetes su ciascun cluster.
Se hai utilizzato uno strumento standard per creare il cluster utente, potresti già disporre dei criteri RBAC appropriati che ti conferiscono l'accesso al cluster. L'API GKE On-Prem aggiunge il tuo Account Google automaticamente in qualità di amministratore nei seguenti casi:
Hai creato il cluster utente nella console.
Hai creato il cluster utente utilizzando gcloud CLI, L'Account Google è stato specificato nel flag
--admin-users
nel cluster kubectl create.Hai creato il cluster utente utilizzando Terraform e il tuo Account Google era specificato nel campo
authorization.admin_users.username
.
I cluster utente creati utilizzando gkectl
non ti concedono i criteri RBAC per
amministrare il cluster utilizzando la console. Devi aggiungere te stesso
dopo la creazione del cluster. A prescindere dallo strumento utilizzato per creare
puoi aggiungere altri utenti come amministratori dopo la creazione del cluster.
Puoi utilizzare uno dei seguenti metodi per concedere l'accesso amministrativo al
in un cluster Kubernetes. Sono disponibili due diversi comandi gcloud
.
Il comando
gcloud ... generate-gateway-rbac
deve essere eseguito sull'amministratore perché il comando richiede l'accesso a kubeconfig del cluster e contesto (che in genere si trovano solo sulla workstation di amministrazione). La Il comandogenerate-gateway-rbac
ti consente di personalizzare il RBAC ma gli indirizzi email degli utenti non verranno visualizzati come amministratori nella sezione Dettagli cluster della console.Il comando
gcloud ... update
può essere eseguito su entrambe le tue workstation di amministrazione o qualsiasi computer con accesso all'API GKE On-Prem.
generate-gateway-rbac
Connettiti alla workstation di amministrazione.
Esegui questo comando per aggiornare i componenti:
gcloud components update
Genera e applica i criteri RBAC al tuo cluster per gli utenti e il servizio account:
gcloud container fleet memberships generate-gateway-rbac \ --membership=MEMBERSHIP_NAME \ --role=ROLE \ --users=USERS \ --project=FLEET_HOST_PROJECT_ID \ --kubeconfig=KUBECONFIG_PATH \ --context=KUBECONFIG_CONTEXT \ --apply
Sostituisci quanto segue:
- MEMBERSHIP_NAME: il nome utilizzato per rappresentare in modo univoco il nel suo parco risorse. In Google Distributed Cloud, il nome dell'appartenenza e il nome del cluster sia lo stesso.
- ROLE: il ruolo Kubernetes che vuoi concedere agli utenti sulla
in un cluster Kubernetes. A concedere agli utenti l'accesso completo a tutte le risorse nel cluster in
per tutti gli spazi dei nomi, specifica
clusterrole/cluster-admin
. Per fornire accesso di sola lettura, specificaclusterrole/view
. Puoi anche creare un un ruolo personalizzato, ad esempiorole/mynamespace/namespace-reader
. Il ruolo personalizzato deve esistere già prima di eseguire il comando. - USERS: gli indirizzi email degli utenti (account utente o
account di servizio) a cui vuoi concedere le autorizzazioni, come
elenco separato da virgole. Ad esempio:
--users=foo@example.com,test-acct@test-project.iam.gserviceaccount.com
. - FLEET_HOST_PROJECT_ID: l'ID del progetto host del parco risorse.
- KUBECONFIG_PATH: il percorso locale in cui kubeconfig contenente una voce per il cluster.
KUBECONFIG_CONTEXT: il contesto del cluster così come appare in il file kubeconfig. Puoi ottenere il contesto corrente dalla riga di comando eseguendo
kubectl config current-context
. Se utilizzi il modello contesto o meno, assicurati che funzioni per l'accesso al cluster eseguendo un semplice comando comekubectl get namespaces \ --kubeconfig=KUBECONFIG_PATH \ --context=KUBECONFIG_CONTEXT
Dopo aver eseguito
gcloud container fleet memberships generate-gateway-rbac
, alla fine dell'output c'è qualcosa di simile al seguente, che è troncato per migliorare la leggibilità:Validating input arguments. Specified Cluster Role is: clusterrole/cluster-admin Generated RBAC policy is: -------------------------------------------- ... Applying the generate RBAC policy to cluster with kubeconfig: /usr/local/google/home/foo/.kube/config, context: kind-kind Writing RBAC policy for user: foo@example.com to cluster. Successfully applied the RBAC policy to cluster.
Questo è il contesto per accedere al cluster tramite Connetti il gateway.
Per ulteriori dettagli sul comando
generate-gateway-rbac
, consulta le guida di riferimento di gcloud CLI.
update
Esegui questo comando per aggiornare i componenti:
gcloud components update
Per ogni utente a cui deve essere concesso l'
clusterrole/cluster-admin
includi il flag--admin-users
ed esegui questo comando. Non puoi specificare più utenti in un singolo flag. Assicurati di includere i tuoi Account Google nel comando perché il comando sovrascrive la concessione con gli utenti specificati nel comando.gcloud container vmware clusters update USER_CLUSTER_NAME \ --admin-users YOUR_GOOGLE_ACCOUNT \ --admin-users ADMIN_GOOGLE_ACCOUNT_1 \
Oltre a concedere il ruolo clusterrole/cluster-admin
di Kubernetes,
il comando concede i criteri RBAC necessari agli utenti per accedere al cluster
attraverso il gateway di connessione.
Console
Per applicare i criteri RBAC agli utenti, segui questi passaggi nella Console:
Nella console, vai alla panoramica dei cluster Google Kubernetes Engine .
Seleziona il progetto Google Cloud in cui si trova il cluster utente.
Nell'elenco dei cluster, fai clic sul nome del cluster per visualizzarne i dettagli.
Nella sezione Autorizzazione, fai clic sul pulsante di modifica Utenti amministratori.
Inserisci l'indirizzo email dell'utente che vuoi aggiungere come amministratore del cluster nel riquadro Modifica autorizzazione. Per aggiungere altri utenti amministratore, fai clic su Aggiungi utente amministratore.
Dopo aver aggiunto gli utenti, fai clic su Salva modifiche.
Ulteriori informazioni
- Panoramica della gestione del parco risorse
- Utilizzare i cluster dalla console Google Cloud
- Panoramica di Connect
- Panoramica di Connect Agent