Gestire i cluster dalla console Google Cloud

Questo documento spiega come rendere disponibili i cluster Anthos su VMware (GKE On-Prem) per la gestione nella console Google Cloud. Sono incluse la gestione di base, come la possibilità di accedere ai cluster e visualizzare i relativi carichi di lavoro, nonché come abilitare la gestione del ciclo di vita dei cluster per consentire l'upgrade, l'aggiornamento e l'eliminazione dei cluster.

Membri del parco risorse e console

Tutti i cluster Anthos su VMware devono essere membri di un flotta, un modo unificato per visualizzare e gestire più cluster e i relativi carichi di lavoro. Ogni parco cluster è associato a un progetto host del parco risorse.

In Cluster Anthos su VMware, un cluster utente viene registrato in un parco risorse al momento della creazione:

  • Quando crei un cluster utilizzando gkectl, specifichi il progetto host del tuo parco risorse nella sezione gkeConnect del file di configurazione del cluster. Cluster Anthos su VMware usa queste informazioni per registrare il tuo cluster nel progetto del parco risorse specificato.

  • Quando crei un cluster utente nella console, il cluster diventa automaticamente un membro del parco risorse nel progetto selezionato nella console.

I membri del parco risorse esterni a Google Cloud, come i cluster Anthos su VMware, vengono visualizzati nella console nel tuo progetto host del parco risorse, insieme ad altri cluster del parco risorse come GKE su Google Cloud. La possibilità di gestire i cluster Anthos su VMware 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 hai attivato la gestione del ciclo di vita del cluster per il cluster, puoi anche eseguire l'upgrade, l'aggiornamento o l'eliminazione dei cluster utente utilizzando la console. A questo scopo, il cluster deve essere gestito da un servizio chiamato API On-Prem Anthos. Per i cluster utente creati nella console, la gestione del ciclo di vita dei cluster viene abilitata al momento della creazione del cluster, oppure puoi abilitare questa funzionalità in un secondo momento per i cluster utente creati utilizzando gkectl. Se questa funzionalità non è abilitata, puoi gestire il ciclo di vita del cluster solo utilizzando gkectl sulla workstation di amministrazione.

Visualizza cluster registrati

Tutti i cluster del parco risorse vengono visualizzati nelle pagine Cluster Anthos e Cluster GKE nella console. Entrambi offrono una panoramica dell'intero parco risorse e, per i cluster Anthos su VMware, ti consentono di vedere quali cluster sono gestiti dall'API Anthos On-Prem.

Per visualizzare i cluster del parco risorse:

  1. Nella console, vai alla pagina Cluster Anthos.

    Vai a Cluster Anthos di Anthos

  2. Seleziona il progetto Google Cloud.

    • Se vm Anthos (VMware) viene visualizzato nella colonna Tipo, il cluster è gestito dall'API Anthos On-Prem.

    • Se Esterna viene visualizzata nella colonna Tipo, il cluster non è gestito dall'API Anthos On-Prem.

    Elenco cluster Anthos

Per visualizzare maggiori dettagli su un cluster, gli utenti devono accedere e autenticarsi nel cluster. A questo scopo, devi:

Configura l'autenticazione

Come descritto sopra, tutti i cluster del parco risorse vengono visualizzati negli elenchi di cluster GKE e Anthos nella console. Tuttavia, per visualizzare maggiori dettagli come nodi e carichi di lavoro (e per eseguire attività di gestione del ciclo di vita del cluster se la funzionalità è abilitata), gli utenti devono accedere al cluster e autenticarsi. A questo scopo, i tuoi 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 tuo 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 nella console, puoi accedere al cluster utilizzando la tua identità Google, ma dovrai configurare l'autenticazione per gli altri utenti.

    L'accesso con l'identità Google è l'approccio più semplice all'autenticazione nella console, in particolare se stai provando i cluster Anthos su VMware con un'installazione minima, quindi 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 console utilizzando la propria identità da un provider di identità OIDC di terze parti come Okta o Microsoft AD FS. Ti consigliamo di utilizzare questa opzione se gli utenti hanno nomi utente, password e iscrizioni a gruppi di sicurezza esistenti del tuo provider. Nelle guide che seguono puoi scoprire come configurare l'autenticazione OIDC per i tuoi cluster:

  • Token di connessione: se le soluzioni fornite da Google precedenti non sono adatte alla tua organizzazione, puoi configurare l'autenticazione utilizzando un account di servizio Kubernetes e l'accesso con il token di connessione. Per i dettagli, consulta Configurare l'utilizzo di un token di connessione.

Concedi i ruoli richiesti

L'accesso alla console è controllato da Google Cloud 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 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 del container nella console. Per i dettagli sulle autorizzazioni incluse in questo ruolo o per concedere un ruolo con autorizzazioni di lettura/scrittura, consulta i ruoli Kubernetes Engine nella documentazione IAM.

    • roles/gkehub.viewer. Questo ruolo consente agli utenti di visualizzare i cluster all'esterno di Google Cloud nella console. Per i dettagli sulle autorizzazioni incluse in questo ruolo o per concedere un ruolo con autorizzazioni di lettura/scrittura, consulta Ruoli di GKE Hub nella documentazione di IAM.

  • Per consentire agli utenti di gestire il ciclo di vita del cluster nella console, concedi il ruolo IAM roles/gkeonprem.admin. Il ruolo roles/gkeonprem.admin fornisce agli utenti l'accesso amministrativo all'API Anthos On-Prem, che la console utilizza per gestire il ciclo di vita del cluster. Per i dettagli sulle autorizzazioni incluse in questo ruolo, consulta Ruoli GKE On-Prem nella documentazione 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 creati utilizzando gkectl, questo è il progetto che hai configurato nella sezione gkeConnect del file di configurazione del cluster utente. Per i cluster creati nella console, è il progetto che hai scelto al momento della creazione del cluster.

  • MEMBER è l'indirizzo email dell'utente nel formato user:emailID, ad esempio: user:alice@example.com

Attiva la gestione del ciclo di vita del cluster nella console

I cluster utente creati nella console sono gestiti automaticamente dall'API Anthos On-Prem e consentono di eseguire le attività di gestione del ciclo di vita dei cluster nella console. Se vuoi abilitare questa funzionalità per i cluster utente creati utilizzando gkectl, segui i passaggi per configurare un cluster utente da gestire tramite l'API Anthos On-Prem. Quando la gestione del ciclo di vita del cluster è abilitata, puoi eseguire le seguenti attività dalla console:

Configurare l'autenticazione dell'identità Google

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

Configura autorizzazione RBAC

Il server API Kubernetes di ogni cluster deve essere in grado di autorizzare le richieste che provengono dalla console. Per configurare l'autorizzazione, devi configurare i criteri di controllo dell'accesso basato sui ruoli (RBAC) di Kubernetes su ciascun cluster. Se hai creato il cluster nella console, l'API Anthos On-Prem aggiunge il tuo account utente come amministratore e crea criteri RBAC appropriati che ti concedono l'accesso amministrativo completo al cluster.

Se hai creato il cluster nella console e in seguito utilizzi gcloud per configurare i criteri RBAC, gli indirizzi email degli utenti non saranno visibili nella sezione Dettagli cluster della console.

Interfaccia a riga di comando gcloud

  1. Esegui questi comandi per accedere con il tuo Account Google e aggiornare i componenti:

    gcloud auth login
    gcloud components update
    
  2. Genera e applica i criteri RBAC per il tuo cluster per utenti e account di 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 cluster nel relativo parco risorse. In Cluster Anthos su VMware, il nome dell'appartenenza e il nome del cluster coincidono.
    • ROLE: il ruolo Kubernetes che vuoi concedere agli utenti nel 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 limitare l'accesso, crea un ruolo personalizzato, ad esempio role/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 file locale in cui viene archiviato il kubeconfig che contiene una voce per il cluster.
    • KUBECONFIG_CONTEXT: il contesto del cluster come appare nel file kubeconfig. Puoi ottenere il contesto attuale dalla riga di comando eseguendo kubectl config current-context. Indipendentemente dal fatto che tu stia utilizzando o meno il contesto attuale, assicurati che funzioni per accedere 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, viene visualizzato il seguente codice alla fine dell'output, che viene troncato per 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.
    

    Si tratta del contesto per l'accesso al cluster tramite gateway di connessione.

    Per maggiori dettagli sul comando generate-gateway-rbac, consulta la guida di riferimento dell'interfaccia a riga di comando gcloud.

Console

Per applicare i criteri RBAC agli utenti, segui questi passaggi nella console:

  1. Nella console, vai alla pagina Cluster Anthos.

    Vai a Cluster Anthos di Anthos

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

  3. Nell'elenco dei cluster, fai clic sul nome del cluster e poi su Altri dettagli nel riquadro Dettagli.

  4. Nella sezione Autorizzazione, fai clic sul campo Utenti amministratori del cluster e inserisci l'indirizzo email di ciascun utente.

  5. Quando hai finito di aggiungere gli utenti, fai clic su Fine.

Informazioni dettagliate