Gestire i cluster dalla console Google Cloud

Questo documento spiega come creare cluster creati con Google Distributed Cloud software per VMware disponibile per la gestione nella console Google Cloud. Sono incluse la gestione di base, ad esempio la possibilità di accedere ai cluster e visualizzarne i carichi di lavoro, nonché come attivare la gestione del ciclo di vita dei cluster in modo da poter eseguire l'upgrade, l'aggiornamento 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 è andata a buon fine, puoi riprovare eseguendo gkectl update credentials register.

Tieni presente che, quando riprovi la registrazione, non devi aggiornare la chiave dell'account di servizio connect-register. In altre parole, puoi continuare a utilizzare il servizio Connect-register originale . Per ulteriori informazioni sul comando, consulta Rotazione delle chiavi degli account di servizio.

In Google Distributed Cloud, un cluster utente viene registrato a un parco risorse al momento della creazione:

  • Quando crei un cluster utente utilizzando gkectl, specifica il progetto host del parco risorse nella sezione gkeConnect del file di configurazione del cluster. Google Distributed Cloud utilizza queste informazioni per registrare il cluster progetto del parco risorse specificato.

  • Quando crei un cluster utente utilizzando uno strumento standard (la console, Google Cloud CLI o Terraform), il cluster diventa automaticamente un membro del parco nel progetto specificato.

I membri del parco risorse esterni a Google Cloud, come Google Distributed Cloud, vengono visualizzati nella console del progetto host del parco risorse, insieme ad altri cluster del parco risorse come GKE su Google Cloud. L'entità in cui puoi gestire 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:

  1. Nella console, vai alla panoramica dei cluster Google Kubernetes Engine .

    Vai ai cluster GKE

  2. Seleziona il progetto Google Cloud.

    • Se nella colonna Tipo viene visualizzato vm Google Distributed Cloud, 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:

Configura l'autenticazione

Come descritto in precedenza, tutti i cluster del parco risorse vengono visualizzati negli elenchi dei cluster GKE e GKE Enterprise nella console. Tuttavia, per visualizzare ulteriori dettagli, come nodi e carichi di lavoro (e per eseguire attività di gestione del ciclo di vita del cluster, se la funzionalità è attivata), gli utenti devono accedere e autenticarsi 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 la propria identità Google Cloud, ovvero l'indirizzo email associato al loro account 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.

    L'accesso con l'identità Google è l'approccio più semplice per l'autenticazione nella console, in particolare se stai provando Google Distributed Cloud con un'installazione minima. Di conseguenza, abbiamo descritto come configurarlo in modo più dettagliato di seguito in Configurare 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 dispongono già di nomi utente, password e iscrizioni ai gruppi di sicurezza del tuo provider. Per scoprire come configurare l'autenticazione OIDC di terze parti per i tuoi cluster, consulta le seguenti guide:

  • 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 da Identity and Access Management (IAM). Questi ruoli IAM sono obbligatori indipendentemente 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 la pagina GKE Clusters e altre risorse dei contenitori nella console. Per informazioni dettagliate sulle autorizzazioni incluse in questo ruolo o per concedere un ruolo con autorizzazioni di lettura/scrittura, consulta la sezione Ruoli Kubernetes Engine nella documentazione IAM.

    • roles/gkehub.viewer. Questo ruolo consente agli utenti di visualizzare i cluster esterni Google Cloud nella console. Per informazioni dettagliate sulle autorizzazioni incluse in questo ruolo o per concedere un ruolo con autorizzazioni di lettura/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. La Il ruolo roles/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 utilizzando gkectl, questo è il progetto che hai configurato Sezione gkeConnect del file di configurazione del cluster utente. Per i cluster creati nella console, si tratta del progetto scelto al momento della creazione del cluster.

  • MEMBER è l'indirizzo email dell'utente nel formato user: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 nell'API GKE On-Prem e ti consentono di eseguire attività di gestione del ciclo di vita del 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 del cluster è attivata, puoi eseguire le seguenti attività dalla console:

Configura l'autenticazione dell'identità Google

Per consentire agli utenti di accedere al cluster utilizzando la loro identità Google, devi: configurare quanto segue:

Configurare 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 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, è possibile che ti siano già stati concessi i criteri RBAC appropriati che ti garantiscono l'accesso amministrativo completo 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 di utenti utilizzando gcloud CLI e il tuo Account Google è stato specificato nel flag --admin-users del comando cluster create.

  • Hai creato il cluster di utenti utilizzando Terraform e il tuo Account Google è stato specificato nel campo authorization.admin_users.username.

I cluster utente creati utilizzando gkectl non ti concedono i criteri RBAC per gestire il cluster utilizzando la console. Devi aggiungere il tuo nome 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 sulla tua workstation di amministrazione perché richiede l'accesso al kubeconfig e al contesto del cluster (che in genere si trovano solo sulla tua workstation di amministrazione). La Il comando generate-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 sulla workstation di amministrazione o qualsiasi computer con accesso all'API GKE On-Prem.

generate-gateway-rbac

  1. Connettiti alla workstation di amministrazione.

  2. Esegui questo comando per aggiornare i componenti:

    gcloud components update
    
  3. Genera e applica i criteri RBAC al cluster per gli utenti e gli account servizio:

    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 sono gli stessi.
    • 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 accesso di sola lettura, specifica clusterrole/view. Puoi anche creare un 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 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 è archiviato il file kubeconfig contenente una voce per il cluster.
    • KUBECONFIG_CONTEXT: il contesto del cluster così come appare nel 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 come

      kubectl 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 il gateway Connect.

    Per ulteriori dettagli sul comando generate-gateway-rbac, consulta la guida di riferimento della CLI gcloud.

update

  1. Esegui il seguente comando per aggiornare i componenti:

    gcloud components update
    
  2. 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, 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:

  1. Nella console, vai alla panoramica dei cluster Google Kubernetes Engine .

    Vai ai cluster GKE

  2. Seleziona il progetto Google Cloud in cui si trova il cluster utente.

  3. Nell'elenco dei cluster, fai clic sul nome del cluster per visualizzarne i dettagli.

  4. Nella sezione Autorizzazione, fai clic sul pulsante di modifica Utenti amministratore.

  5. Inserisci l'indirizzo email dell'utente da aggiungere come amministratore del cluster nel riquadro Modifica autorizzazione. Per aggiungere altri utenti amministratore, fai clic su Aggiungi utente amministratore.

  6. Dopo aver aggiunto gli utenti, fai clic su Salva modifiche.

Ulteriori informazioni