Connettiti al cluster AKS

Questo documento descrive tre metodi di connessione al cluster collegato AKS:

Questi tre metodi di connessione a un cluster registrato sono abilitati da un servizio Google chiamato gateway di connessione. Per informazioni dettagliate su Connect Gateway, vedi Connessione ai cluster registrati con Connect Gateway.

Questa pagina è rivolta agli amministratori IT e agli operatori che vogliono configurare, monitorare e gestire l'infrastruttura cloud. Per scoprire di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei contenuti, consulta la pagina Ruoli e attività comuni degli utenti GKE. Google Cloud

Prima di iniziare

Prima di eseguire uno dei metodi, assicurati di aver collegato il cluster. Per maggiori dettagli, vedi Collegare il cluster AKS.

Prima di procedere con il metodo 2 o il metodo 3, devi soddisfare ulteriori prerequisiti. Per maggiori dettagli, vedi le sezioni seguenti.

Prima di iniziare il metodo 2

Per utilizzare il metodo n. 2 di connessione al cluster collegato, assicurati di disporre dei seguenti prerequisiti:

  • L'ultima versione di Google Cloud CLI. Per informazioni sull'aggiornamento di gcloud CLI, vedi gcloud components update.
  • Versioni del cluster collegato 1.26.0-gke.8, 1.27.0-gke.5, 1.28.0-gke.2 o successive.

Prima di iniziare il metodo 3

Per utilizzare il metodo n. 3 di connessione al cluster collegato, assicurati di disporre dei seguenti prerequisiti:

  1. Assicurati di avere l'ultima versione di Google Cloud CLI. Per informazioni sull'aggiornamento di gcloud CLI, consulta gcloud components update.

  2. Assicurati di utilizzare le versioni del cluster collegato 1.27.0-gke.5, 1.28.0-gke.2 o successive.

  3. Configura la federazione delle identità per la forza lavoro (in modo che utenti o gruppi esterni possano utilizzare l'API GKE attached clusters):

  4. (Facoltativo) Assegna agli utenti o ai gruppi esterni i ruoli IAM (Identity and Access Management) appropriati. Questo passaggio è necessario solo se vuoi concedere a utenti o gruppi la possibilità di creare o aggiornare cluster; non è obbligatorio per accedere semplicemente a un cluster.

    Tieni presente che i ruoli sono raccolte di autorizzazioni. Quando assegni un ruolo a un'entità (utente, gruppo o account di servizio), concedi a questa entità tutte le autorizzazioni contenute nel ruolo.

    Utenti

    Per i singoli utenti, devi assegnare il ruolo gkemulticloud.admin:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --role="roles/gkemulticloud.admin" \
      --member="principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject SUBJECT_VALUE"
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del tuo Google Cloud progetto.
    • WORKFORCE_POOL_ID: l'ID che identifica in modo univoco il tuo pool di identità della forza lavoro in Google Cloud. Quando formatti l'ID, assicurati di seguire le linee guida consigliate fornite nella documentazione IAM in Parametri di query.
    • SUBJECT_VALUE: l'ID che identifica in modo univoco un utente esterno. Ad esempio, l'ID può essere un indirizzo email come alex@cymbalgroup.com.

    Gruppi

    Per i gruppi, devi assegnare il ruolo gkemulticloud.admin:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --role="roles/gkemulticloud.admin" \
      --member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del tuo Google Cloud progetto.
    • WORKFORCE_POOL_ID: l'ID che identifica in modo univoco il tuo pool di identità della forza lavoro in Google Cloud. Quando formatti l'ID, assicurati di seguire le linee guida consigliate fornite nella documentazione IAM nella sezione Parametri di query.
    • GROUP_ID: un ID che identifica in modo univoco un gruppo esterno.

    Per saperne di più su quali ruoli e autorizzazioni API sono richiesti per i cluster allegati GKE, consulta Ruoli e autorizzazioni API.

Metodo 1: connettiti al cluster collegato come utente Google

Per connetterti a un cluster collegato come utente Google:

  1. Abilita le API connectgateway e cloudresourcemanager con il seguente comando:

     gcloud services enable --project=PROJECT_ID \
         connectgateway.googleapis.com \
         cloudresourcemanager.googleapis.com
    

    Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud.

  2. Configura e applica le regole RBAC automaticamente o manualmente:

    • Metodo automatico: se, quando hai collegato il cluster, hai specificato gli utenti Google nel campo --admin-users del comando gcloud container attached clusters register, a questi utenti sono stati concessi automaticamente i privilegi di amministratore sul cluster. Pertanto, puoi saltare questo passaggio.

    • Metodo manuale: configura manualmente le regole RBAC per singoli utenti Google creando un manifest YAML di Kubernetes. Per maggiori dettagli, vedi Utilizzo dell'autorizzazione RBAC.

  3. Ottieni un file di configurazione kubeconfig di Kubernetes con il seguente comando:

    gcloud container fleet memberships get-credentials CLUSTER_NAME
    

    Sostituisci CLUSTER_NAME con il nome del cluster di cui vuoi le credenziali di connessione.

Una volta eseguiti questi passaggi, puoi connetterti al cluster collegato come utente Google.

Metodo 2: connettersi al cluster collegato con i gruppi Google

Questo metodo ti consente di connetterti a un cluster collegato in qualità di membro di un gruppo Google. In altre parole, concedi a un gruppo Google l'accesso a un cluster e tutti gli utenti che appartengono a quel gruppo Google hanno accesso al cluster.

L'utilizzo di Google Gruppi per concedere l'accesso al cluster è più efficiente rispetto alla creazione di autorizzazioni separate per i singoli utenti. Ad esempio, supponiamo che tu voglia aggiungere 50 utenti al gruppo Amministratore cluster, 75 utenti a un gruppo Editor e 100 utenti a un gruppo Lettore. Il metodo n. 1, descritto in questo documento, richiederebbe la creazione di regole RBAC nel file manifest Kubernetes per 225 utenti. Il metodo n. 2, invece, ti fa risparmiare tempo perché devi solo creare regole RBAC per tre gruppi Google.

Per autorizzare i gruppi Google a connettersi a un cluster collegato:

  1. Abilita le API connectgateway e cloudresourcemanager con il seguente comando:

      gcloud services enable --project=PROJECT_ID \
          connectgateway.googleapis.com \
          cloudresourcemanager.googleapis.com
    

    Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud .

  2. Crea un gruppo denominato gke-security-groups come gruppo nel dominio del tuo progetto, se non esiste.

  3. Crea uno o più sottogruppi all'interno del gruppo gke-security-groups per l'autenticazione del cluster.

  4. Aggiungi utenti ai sottogruppi appena creati.

  5. Concedi ruoli IAM a Google Gruppi:

    1. Seleziona un ruolo appropriato per un gruppo. Questo ruolo determina il modo in cui il gruppo interagisce con il gateway di connessione. Il ruolo può essere uno dei seguenti: roles/gkehub.gatewayAdmin, roles/gkehub.gatewayEditor, roles/gkehub.gatewayReader. Tieni presente che qui non stai concedendo autorizzazioni sul cluster collegato. Questo passaggio verrà eseguito in un secondo momento. Qui, stai solo determinando in che modo gli utenti del gruppo possono manipolare il gateway di connessione.

    2. Esegui questo comando per concedere il ruolo al gruppo:

      gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=group:GROUP_NAME@DOMAIN \
        --role=GATEWAY_ROLE
      

      Sostituisci quanto segue:

      • PROJECT_ID: il tuo ID progetto Google
      • GROUP_NAME: il nome del gruppo a cui concedere l'accesso
      • DOMAIN: il tuo dominio Google Workspace
      • GATEWAY_ROLE: il ruolo selezionato. Ad esempio roles/gkehub.gatewayAdmin, roles/gkehub.gatewayEditor o roles/gkehub.gatewayReader.
  6. In un manifest Kubernetes, definisci il tipo di autorizzazione che ogni gruppo Google ha sul cluster. Ad esempio, il seguente manifest concede al gruppo Google cluster-admin-team il ruolo di amministratore del cluster:

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: gateway-cluster-admin-group
    subjects:
    - kind: Group
      name: cluster-admin-team@example.com
    roleRef:
      kind: ClusterRole
      name: cluster-admin
      apiGroup: rbac.authorization.k8s.io
    
  7. Salva il manifest in un file e applicalo al cluster eseguendo il comando seguente:

    kubectl apply -kubeconfig=KUBECONFIG_PATH -f FILENAME
    

    Sostituisci quanto segue:

    • KUBECONFIG_PATH: il percorso del file kubeconfig.
    • FILENAME: il nome del file manifest che hai creato.

Una volta eseguiti questi passaggi, gli utenti appartenenti a determinati gruppi Google possono connettersi al cluster collegato. Nell'esempio riportato, gli utenti appartenenti al gruppo Google cluster-admin-team possono connettersi al cluster come amministratori.

Metodo 3: concedere l'accesso a identità esterne quando colleghi o aggiorni un cluster

Il metodo n. 3 concede l'accesso a identità esterne quando colleghi o aggiorni un cluster.

Per collegare un cluster AKS, segui i passaggi descritti in Collega il cluster AKS. Per aggiornare un cluster AKS, segui i passaggi descritti in Aggiornare il cluster AKS.

Quando esegui il comando gcloud CLI per registrare o aggiornare un cluster, specifica i parametri admin-users e/o admin-groups nel seguente modo:

gcloud container attached clusters [register|update] CLUSTER_NAME \
    --admin-users=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject SUBJECT_VALUE \
    --admin-groups=principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del tuo cluster.
  • WORKFORCE_POOL_ID: l'ID che identifica in modo univoco il tuo pool di identità della forza lavoro in Google Cloud. Quando formatti l'ID, assicurati di seguire le linee guida consigliate fornite nella documentazione IAM nella sezione Parametri di query.
  • SUBJECT_VALUE: l'ID che identifica in modo univoco un utente esterno. Ad esempio, l'ID può essere un indirizzo email come alex@cymbalgroup.com.
  • GROUP_ID: un ID che identifica in modo univoco un gruppo esterno.

Passaggi successivi

Per gestire il cluster dalla console Google Cloud con Cloud Identity, consulta Accedere utilizzando la tua identità Google Cloud .