Gestisci i cluster dalla console Google Cloud

Questo documento spiega come creare cluster di amministrazione e utenti creati con Il software Google Distributed Cloud on bare metal disponibile per la gestione in nella console Google Cloud. 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 parco risorse 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 sono registrati in un parco risorse al momento della creazione:

  • Quando crei un cluster utilizzando bmctl, specifichi il progetto host del parco risorse nella sezione gkeConnect 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 nel progetto specificato.

I membri del parco risorse al di fuori di Google Cloud, come Google Distributed Cloud, sono visualizzati 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 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 abilitato il ciclo di vita del cluster per gli sviluppatori puoi eseguire l'upgrade dei cluster di amministrazione e degli utenti utilizzando ed è possibile utilizzarla per aggiornare eliminare i cluster utente. Se questa funzionalità non è attivata, puoi gestire il ciclo di vita del cluster solo utilizzando bmctl sulla tua workstation di amministrazione.

Visualizzare i cluster registrati

Tutti i cluster vengono visualizzati Cluster GKE nella console. In questo modo puoi avere una panoramica dell'intero parco risorse e, per Google Distributed Cloud, puoi vedere quali cluster sono gestiti dall'API GKE On-Prem.

Per visualizzare i cluster del parco risorse:

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

    Vai ai cluster GKE

  2. Seleziona il progetto Google Cloud.

    • Se nella colonna Tipo è visualizzato Bare metal, il cluster è gestito dall'API GKE On-Prem. Nota: solo i cluster di amministrazione e utente può essere 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, devi accedere e autenticarti nel cluster. Per farlo, segui questi passaggi:

Configura l'autenticazione

Come descritto in precedenza, tutti i cluster vengono visualizzati nella pagina dei cluster GKE nella console. Tuttavia, per ulteriori dettagli come nodi e carichi di lavoro (nonché eseguire attività di gestione del ciclo di vita dei cluster se è abilitata), devi accedere al cluster ed eseguire l'autenticazione. Da fare i cluster devono essere configurati con una delle seguenti metodo:

  • Identità Google: questa opzione ti consente di accedere utilizzando la tua 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.

    Accedi con l'identità Google è l'approccio più semplice all'autenticazione nel quindi abbiamo descritto come eseguire questa configurazione in modo più dettagliato in Configura 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. 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. Puoi scoprire come configurare un file OIDC di terze parti l'autenticazione basata sui cluster nelle guide seguenti:

  • Token bearer: se le soluzioni fornite da Google precedenti non sono adatte alla tua organizzazione, puoi configurare l'autenticazione utilizzando un account servizio Kubernetes e il relativo token bearer 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). 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 almeno concedere i seguenti ruoli:

    • roles/container.viewer: questo ruolo consente agli utenti di visualizzare Cluster 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 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 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 ruolo roles/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 maggiori dettagli sulle autorizzazioni incluse in questo ruolo, vedi Ruoli GKE On-Prem nella documentazione di 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 creato utilizzando bmctl, 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 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 le attività di gestione del ciclo di vita dei cluster nella console. In Google Distributed Cloud 1.16 e versioni successive, quando crei cluster utente e di amministrazione utilizzando bmctl, vengono e registrati nell'API GKE On-Prem per impostazione predefinita. Se devi registrare un cluster in l'API GKE On-Prem, segui i passaggi Configura un cluster che dovrà essere gestito dall'API GKE On-Prem.

Configurare l'autenticazione dell'identità Google

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

  • Gli utenti hanno bisogno di ruoli IAM (Identity and Access Management) specifici per poter visualizzare e a interagire con i cluster nella console 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 utilizzando Agente Connect.

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 per gli utenti su in un cluster Kubernetes. Il tuo Account Google viene aggiunto come amministratore con accesso completo a un cluster utente 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 di utenti utilizzando Terraform e il tuo Account Google è stato specificato nel campo authorization.admin_users.username.

  • Hai creato il cluster utente utilizzando bmctl e configurato il tuo Account Google nel clusterSecurity.authorization.clusterAdmin.gcpAccounts.

Puoi aggiungere altri utenti come amministratori dopo la creazione del cluster. Puoi utilizzare uno dei seguenti metodi per concedere l'accesso amministrativo al cluster. Sono disponibili due comandi gcloud diversi.

  • 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). Il comando generate-gateway-rbac ti 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 qualsiasi computer con 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 ricevere Ruolo di clusterrole/cluster-admin, una persona con quel ruolo dovrà aggiungere usando il comando gcloud ... generate-gateway-rbac.

generate-gateway-rbac

Per applicare i criteri RBAC agli utenti, segui questi passaggi sul tuo amministratore workstation:

  1. Esegui questo comando per aggiornare i componenti (se necessario):

    gcloud components update
    
  2. 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=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. Per limitare l'accesso, creare 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=222larabrown@gmail.com,test-acct@test-project.iam.gserviceaccount.com.
    • PROJECT_ID: l'ID del progetto host del parco risorse.
    • 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 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 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 di connessione.

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

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 il tuo Account Google nel comando, in quanto questo sovrascrive l'elenco delle autorizzazioni 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 clusterrole/cluster-admin di Kubernetes, concede i criteri RBAC necessari agli utenti per accedere al cluster attraverso il gateway di connessione.

bmctl

Per applicare i criteri RBAC agli utenti, segui questi passaggi sul tuo amministratore workstation:

  1. Aggiungi il parametro clusterSecurity.authorization al file di configurazione del cluster. Specifica il tuo indirizzo email e gli indirizzi email degli altri utenti che devono amministrare il cluster. Ad esempio:

    ...
    clusterSecurity:
      authorization:
        clusterAdmin:
          gcpAccounts: [alex@example.com,hao@example.com,sasha@example.com]
    ...
    
  2. 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 a gestione autonoma (ad esempio amministratore o autonomo) del cluster), sostituisci KUBECONFIG con il percorso kubeconfig. Se il cluster è un cluster utente, sostituisci KUBECONFIG con il percorso kubeconfig del cluster admin .

Console

Per applicare i criteri RBAC agli utenti, svolgi i seguenti passaggi nella console:

  1. Nella console, vai alla pagina 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 e poi su Visualizza dettagli nel riquadro Dettagli.

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

  5. Al termine, fai clic su Fine.

Ulteriori informazioni