Questo documento spiega come rendere disponibili per la gestione nella consoleGoogle Cloud i cluster di amministrazione e utente creati con il software Google Distributed Cloud su bare metal. Le funzionalità di gestione dei cluster includono la possibilità di accedere ai cluster, visualizzare i carichi di lavoro, eseguire l'upgrade, aggiornare ed eliminare i cluster.
Membri del gruppo e console
Tutti i cluster devono essere membri di un parco risorse, un modo unificato per visualizzare e gestire più cluster e i relativi carichi di lavoro. Ogni parco risorse di cluster è associato a un progetto host del parco risorse.
Tutti i cluster vengono registrati in un parco risorse al momento della creazione:
Quando crei un cluster utilizzando
bmctl
, specifica il progetto host del parco risorse nella sezionegkeConnect
del file di configurazione del cluster. Il cluster diventa un membro del parco risorse del progetto specificato.Quando crei un cluster di amministrazione o utente con un client API GKE On-Prem standard (la console, Google Cloud CLI o Terraform), il cluster diventa un membro del parco progetti nel progetto specificato.
I membri del parco risorse al di fuori di Google Cloud, come Google Distributed Cloud, vengono visualizzati nella console nel progetto host del parco risorse, insieme ad altri cluster del parco risorse come GKE su Google Cloud. La misura in cui puoi gestire i cluster bare metal dalla console dipende da quanto segue:
Se hai configurato l'autenticazione, puoi accedere ai tuoi cluster e visualizzare i relativi workload e altri dettagli.
Se hai attivato la gestione del ciclo di vita del cluster per il cluster, puoi eseguire l'upgrade dei cluster di amministrazione e utente utilizzando la console, che puoi utilizzare anche per aggiornare ed eliminare i cluster utente. Se questa funzionalità non è attiva, puoi gestire il ciclo di vita del cluster solo utilizzando
bmctl
sulla workstation amministrativa.
Visualizza i cluster registrati
Tutti i tuoi cluster vengono visualizzati nella pagina Cluster GKE della console. In questo modo puoi avere una panoramica dell'intera flotta e, per Google Distributed Cloud, vedere quali cluster sono gestiti dall'API GKE On-Prem.
Per visualizzare i cluster del parco risorse:
Nella console, vai alla pagina Panoramica dei cluster Google Kubernetes Engine.
Seleziona il progetto Google Cloud .
Se nella colonna Tipo viene visualizzato Bare metal, il cluster è gestito dall'API GKE On-Prem. Tieni presente che solo i cluster di amministrazione e utente possono essere gestiti dall'API GKE On-Prem.
Se nella colonna Tipo viene visualizzato Esterno, il cluster non è gestito dall'API GKE On-Prem.
Per visualizzare ulteriori dettagli su un cluster, devi accedere e autenticarti al cluster. Per farlo, segui questi passaggi:
- Configurare un metodo di autenticazione
- Concedere agli utenti ruoli Identity and Access Management specifici
Configura l'autenticazione
Come descritto in precedenza, tutti i cluster vengono visualizzati nella pagina dei cluster GKE nella console. Tuttavia, per visualizzare maggiori dettagli, ad esempio nodi e carichi di lavoro (e per eseguire attività di gestione del ciclo di vita del cluster se la funzionalità è abilitata), devi accedere al cluster e autenticarti. A tale scopo, i cluster devono essere configurati con uno dei seguenti metodi di autenticazione:
Identità Google: questa opzione ti consente di accedere utilizzando la tua identitàGoogle Cloud , ovvero l'indirizzo email associato al tuo accountGoogle Cloud . Utilizza questa opzione se gli utenti hanno già accesso a Google Cloud con la loro identità Google. Se hai creato il cluster nella console, puoi accedervi utilizzando la tua identità Google, ma dovrai configurare l'autenticazione per altri utenti.
L'accesso con l'identità Google è l'approccio più semplice all'autenticazione nella console, pertanto abbiamo descritto in dettaglio come configurarlo in Configurare l'autenticazione dell'identità Google.
OpenID Connect (OIDC): questa opzione ti consente di accedere ai cluster dalla console utilizzando la loro identità da un provider di identità OIDC di terze parti come Okta o Microsoft AD FS. Potresti voler utilizzare questa opzione se i tuoi utenti hanno nomi utente, password e appartenenze a gruppi di sicurezza esistenti del tuo provider. Puoi scoprire come configurare l'autenticazione OIDC di terze parti per i tuoi cluster nelle seguenti guide:
Configura i cluster per GKE Identity Service con OIDC: questa guida mostra come configurare l'autenticazione OIDC in un cluster in base al cluster.
Configura GKE Identity Service per un parco risorse: Questa opzione ti consente di configurare OIDC a livello di parco risorse.
Token di autenticazione: se le soluzioni fornite da Google precedenti non sono adatte alla tua organizzazione, puoi configurare l'autenticazione utilizzando un service account Kubernetes e il relativo token di autenticazione per accedere. Per maggiori dettagli, vedi Configurare l'utilizzo di un token di autenticazione.
Concedere i ruoli richiesti
L'accesso alla console è controllato da Identity and Access Management (IAM). Per gestire il ciclo di vita del cluster nella console, devi concedere alcuni ruoli IAM agli utenti che non sono proprietari del progetto:
Per consentire agli utenti di accedere alla console, devi concedere almeno i seguenti ruoli:
roles/container.viewer
: questo ruolo consente agli utenti di visualizzare la pagina Cluster GKE e altre risorse container nella console. Per informazioni dettagliate sulle autorizzazioni incluse in questo ruolo o per concedere un ruolo con autorizzazioni di lettura e scrittura, consulta la sezione Ruoli Kubernetes Engine nella documentazione IAM.roles/gkehub.viewer
: questo ruolo consente agli utenti di visualizzare i cluster al di fuori di Google Cloud nella console. Per informazioni dettagliate sulle autorizzazioni incluse in questo ruolo o per concedere un ruolo con autorizzazioni di lettura e scrittura, consulta Ruoli GKE Hub nella documentazione IAM.
Per consentire agli utenti di gestire il ciclo di vita del cluster nella console, concedi il ruolo IAM
roles/gkeonprem.admin
. Il ruoloroles/gkeonprem.admin
concede agli utenti l'accesso amministrativo all'API GKE On-Prem, che la console utilizza per gestire il ciclo di vita del cluster. Per informazioni dettagliate sulle autorizzazioni incluse in questo ruolo, consulta Ruoli GKE On-Prem nella documentazione IAM.
I seguenti comandi mostrano come concedere i ruoli minimi necessari per gestire il ciclo di vita del cluster nella console:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=MEMBER \ --role=roles/container.viewer gcloud projects add-iam-policy-binding PROJECT_ID \ --member=MEMBER \ --role=roles/gkehub.viewer gcloud projects add-iam-policy-binding PROJECT_ID \ --member=MEMBER \ --role=roles/gkeonprem.admin
dove:
PROJECT_ID
è il progetto host del parco risorse. Per i cluster creati utilizzandobmctl
, questo è il progetto che hai configurato nella sezionegkeConnect
del file di configurazione del cluster utente. Per i cluster creati nella console, questo è il progetto che hai scelto durante la creazione del cluster.MEMBER
è l'indirizzo email dell'utente nel formatouser:emailID
, ad esempio:user:alice@example.com
Abilitare la gestione del ciclo di vita del cluster nella console
I cluster di amministrazione e utente creati utilizzando strumenti standard (la console, gcloud CLI o Terraform) vengono registrati automaticamente nell'API GKE On-Prem, che ti consente di eseguire attività di gestione del ciclo di vita del cluster nella console. In Google Distributed Cloud
1.16 e versioni successive, quando crei cluster utente e di amministrazione utilizzando bmctl
, questi vengono registrati nell'API GKE On-Prem per impostazione predefinita. Se devi registrare un cluster nell'API GKE On-Prem, segui i passaggi descritti in Configurare un cluster da gestire tramite l'API GKE On-Prem.
Configurare l'autenticazione dell'identità Google
Per consentire agli utenti di accedere al cluster utilizzando la propria identità Google, devi configurare quanto segue:
Gli utenti hanno bisogno di ruoli IAM (Identity and Access Management) specifici per poter visualizzare e interagire con i cluster nella console nella pagina Cluster GKE.
Gli utenti devono essere aggiunti ai criteri di controllo dell'accesso dell'accesso basato sui ruoli (RBAC) di Kubernetes che il gateway di connessione deve accedere al server API Kubernetes del cluster utilizzando Connect Agent.
Configura l'autorizzazione RBAC
Il server API Kubernetes di ogni cluster deve essere in grado di autorizzare le richieste provenienti dalla console. Per configurare l'autorizzazione, devi configurare i criteri dicontrollo dell'accessoo dell'accesso basato sui ruoli (RBAC) di Kubernetes per gli utenti di ogni cluster. Il tuo Account Google viene aggiunto come amministratore con accesso completo a un cluster di utenti nei seguenti casi:
Hai creato il cluster utente nella console.
Hai creato il cluster utente utilizzando gcloud CLI e il tuo Account Google è stato specificato nel flag
--admin-users
nel comando di creazione del cluster.Hai creato il cluster utente utilizzando Terraform e il tuo Account Google è stato specificato nel campo
authorization.admin_users.username
.Hai creato il cluster utente utilizzando
bmctl
e hai configurato il tuo Account Google in clusterSecurity.authorization.clusterAdmin.gcpAccounts.
Puoi aggiungere altri utenti come amministratori dopo la creazione del cluster. Puoi utilizzare
uno dei seguenti modi per concedere l'accesso amministrativo al cluster. Vengono forniti due
comandi gcloud
diversi.
Il comando
gcloud ... generate-gateway-rbac
deve essere eseguito sulla workstation di amministrazione perché richiede l'accesso al kubeconfig e al contesto del cluster (che in genere si trovano solo sulla workstation di amministrazione). Il comandogenerate-gateway-rbac
consente di personalizzare i criteri 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 sulla workstation di amministrazione o su qualsiasi computer che abbia accesso all'API GKE On-Prem.
Tieni presente che se hai creato un cluster amministrativo nella console Google Cloud , ti viene concesso l'accesso di sola lettura al cluster. Se vuoi ottenere il ruolo
clusterrole/cluster-admin
, qualcuno con questo ruolo dovrà aggiungerti
utilizzando il comando gcloud ... generate-gateway-rbac
.
generate-gateway-rbac
Per applicare i criteri RBAC agli utenti, segui questi passaggi sulla tua workstation amministrativa:
Esegui questo comando per aggiornare i componenti (se necessario):
gcloud components update
Genera e applica i criteri RBAC al cluster per utenti e service account:
gcloud container fleet memberships generate-gateway-rbac \ --membership=MEMBERSHIP_NAME \ --role=ROLE \ --users=USERS \ --project=PROJECT_ID \ --kubeconfig=KUBECONFIG_PATH \ --context=KUBECONFIG_CONTEXT \ --apply
Sostituisci quanto segue:
- MEMBERSHIP_NAME: il nome utilizzato per rappresentare in modo univoco il cluster nel suo parco risorse. In Google Distributed Cloud, il nome dell'appartenenza e il nome del cluster sono uguali.
- ROLE: il ruolo Kubernetes che vuoi concedere agli utenti del cluster. Per concedere agli utenti l'accesso completo a tutte le risorse del cluster
in tutti gli spazi dei nomi, specifica
clusterrole/cluster-admin
. Per fornire l'accesso in sola lettura, specificaclusterrole/view
. Per limitare l'accesso, crea un ruolo personalizzato, ad esempio:role/mynamespace/namespace-reader
. Il ruolo personalizzato deve già esistere prima di eseguire il comando. - USERS: gli indirizzi email degli utenti (account utente o
service account) a cui vuoi concedere le autorizzazioni, come
elenco separato da virgole. Ad esempio:
--users=222larabrown@gmail.com,test-acct@test-project.iam.gserviceaccount.com
. - PROJECT_ID: l'ID progetto del progetto host del parco.
- KUBECONFIG_PATH: il percorso locale del file kubeconfig che contiene una voce per il cluster.
KUBECONFIG_CONTEXT: il contesto del cluster così come appare nel file kubeconfig. Puoi ottenere il contesto attuale dalla riga di comando eseguendo
kubectl config current-context
. Indipendentemente dal fatto che utilizzi o meno il contesto attuale, assicurati che funzioni per accedere al cluster eseguendo un comando come:kubectl get namespaces \ --kubeconfig=KUBECONFIG_PATH \ --context=KUBECONFIG_CONTEXT
Dopo aver eseguito
gcloud container fleet memberships generate-gateway-rbac
, alla fine dell'output viene visualizzato un testo simile al seguente, che è troncato per facilitarne la lettura: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 il gateway di connessione.
Per maggiori dettagli sul comando
generate-gateway-rbac
, consulta la 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 il ruolo
clusterrole/cluster-admin
, includi il flag--admin-users
ed esegui il seguente comando. Non puoi specificare più utenti in un singolo flag. Assicurati di includere il tuo Account Google nel comando, perché il comando sovrascrive l'elenco di concessione con gli utenti specificati nel comando.gcloud container bare-metal clusters update USER_CLUSTER_NAME \ --admin-users YOUR_GOOGLE_ACCOUNT \ --admin-users ADMIN_GOOGLE_ACCOUNT_1 \
Oltre a concedere il ruolo Kubernetes clusterrole/cluster-admin
, il comando concede agli utenti i criteri RBAC necessari per accedere al cluster tramite il gateway Connect.
bmctl
Per applicare i criteri RBAC agli utenti, segui questi passaggi sulla tua workstation amministrativa:
Aggiungi la sezione
clusterSecurity.authorization
al file di configurazione del cluster. Specifica il tuo indirizzo email e l'indirizzo email degli altri utenti che devono amministrare il cluster. Ad esempio:... clusterSecurity: authorization: clusterAdmin: gcpAccounts: [alex@example.com,hao@example.com,sasha@example.com] ...
Aggiorna il cluster:
bmctl update cluster \ -c CLUSTER_NAME \ --kubeconfig=KUBECONFIG
Apporta le seguenti modifiche:
- Sostituisci CLUSTER_NAME con il nome del cluster da aggiornare.
- Se il cluster è un cluster autogestito (ad esempio un cluster di amministrazione o autonomo), sostituisci KUBECONFIG con il percorso del file kubeconfig del cluster. Se il cluster è un cluster utente, sostituisci KUBECONFIG con il percorso del file kubeconfig del cluster amministrativo.
Console
Per applicare le policy RBAC agli utenti, segui questi passaggi nella console:
Nella console, vai alla pagina Panoramica dei cluster Google Kubernetes Engine.
Seleziona il Google Cloud progetto in cui si trova il cluster utente.
Nell'elenco dei cluster, fai clic sul nome del cluster, quindi su Visualizza dettagli nel riquadro Dettagli.
Nella sezione Autorizzazione, fai clic sul campo Utenti amministratore e inserisci l'indirizzo email di ogni utente.
Quando hai finito di aggiungere gli utenti, fai clic su Fine.
Ulteriori informazioni
- Panoramica della gestione del parco risorse
- Lavora con i cluster dalla console Google Cloud
- Panoramica di Connect
- Panoramica dell'agente Connect