Connessione ai cluster registrati con il gateway Connect

I parchi risorse in Google Cloud sono gruppi logici di cluster Kubernetes e altre risorse che possono essere gestiti insieme, creati registrando i cluster in Google Cloud. Il gateway Connect sfrutta la potenza dei parchi risorse per consentire agli utenti Anthos di connettersi ed eseguire comandi sui cluster membri del parco risorse in modo semplice, coerente e sicuro, indipendentemente dal fatto che i cluster siano su Google Cloud, altri cloud pubblici o on-premise, e semplifica l'automazione dei processi DevOps in tutti i cluster.

Questa guida presuppone che tu abbia già familiarità con alcuni concetti di base del parco risorse e con la registrazione dei cluster in un parco risorse. In caso contrario, puoi trovare ulteriori informazioni nella panoramica della gestione del parco risorse, nella panoramica sulla creazione del parco risorse e nelle guide collegate. Dovresti anche avere familiarità con gli strumenti e i concetti di Kubernetes, tra cui kubectl, client-go (se vuoi utilizzare il gateway per scopi di automazione), controllo dell'accesso basato sui ruoli (RBAC) e le risorse Kubernetes principali.

Per impostazione predefinita, il gateway Connect utilizza il tuo ID Google per l'autenticazione nei cluster, con supporto per provider di identità di terze parti che utilizzano la federazione delle identità per la forza lavoro e con supporto per l'autenticazione basata sui gruppi tramite GKE Identity Service. Per saperne di più su GKE Identity Service o utilizzarlo come opzione di autenticazione di terze parti autonoma, consulta Introduzione a GKE Identity Service.

Perché utilizzare il gateway Connect?

La gestione dei carichi di lavoro quando i cluster sono in esecuzione in più cloud e ambienti ibridi presenta molte sfide. I cluster possono essere in esecuzione in VPC (Virtual Private Cloud) diversi e sfruttare provider di identità diversi, rendendo connettività, autenticazione e autorizzazione più complicate. A volte, è difficile scoprire solo quali cluster esistono in questi ambienti.

Il gateway Connect semplifica le operazioni seguenti:

  • Scopri quali cluster esistono (su Google Cloud, su un altro cloud pubblico o on-premise) e sono registrati nel tuo parco risorse tramite una semplice query.
  • Connettiti a un cluster desiderato utilizzando la stessa infrastruttura che utilizziamo per visualizzare i cluster GKE registrati nella console Google Cloud.
  • Esegui l'autenticazione utilizzando le stesse identità che utilizzi con i servizi Google Cloud.
  • Autorizza in modo coerente su tutti i cluster registrati in un parco risorse.

Il gateway autentica la tua identità Google Cloud e fornisce la connessione al server API del cluster tramite il servizio Connect.

Puoi interagire direttamente con i cluster tramite il gateway utilizzando strumenti a riga di comando che accettano kubeconfig come kubectl. Puoi inoltre sfruttare facilmente il gateway con le tue pipeline di build e altre funzionalità di automazione DevOps. Puoi visualizzare un esempio di come eseguire questa operazione nel nostro tutorial sull'integrazione con Cloud Build.

Puoi anche utilizzare il servizio Connect per connetterti ai cluster registrati al di fuori di Google Cloud con la tua identità Google Cloud nella console Google Cloud. A questo scopo, segui le istruzioni riportate in Accedere a un cluster dalla console Google Cloud.

Come funziona

Di seguito è riportato il flusso eseguito da un utente o da un servizio tipico (ad esempio una pipeline CI/CD) per utilizzare il gateway Connect, dopo aver configurato l'autenticazione e l'autorizzazione appropriate. Per istruzioni più dettagliate per l'utente, consulta la nostra guida all'utilizzo.

  1. L'utente o il servizio rileva i cluster elencando le risorse dell'abbonamento del parco risorse con Google Cloud CLI.

    gcloud container fleet memberships list
    
  2. L'utente o il servizio recupera il kubeconfig specifico per il gateway di Connect necessario per raggiungere il cluster selezionato utilizzando Google Cloud CLI.

    gcloud container fleet memberships get-credentials membership-name
    

    Se hai già familiarità con l'utilizzo di gcloud CLI con GKE, questo è un modo simile all'esecuzione di gcloud container clusters get-credentials con il tuo account Google Cloud, che ti consente (se autorizzato) di accedere a qualsiasi cluster registrato e connesso all'interno del parco risorse del tuo progetto.

  3. L'utente o il servizio esegue i comandi come fa normalmente con kubectl o client-go, utilizzando il file kubeconfig scaricato.

    1. L'utente/servizio è autenticato dal gateway di Connect e l'autorizzazione viene verificata per garantire che gli utenti siano autorizzati a utilizzare il gateway.
    2. La richiesta viene inoltrata tramite il servizio Connect e l'agente Connect al server API Kubernetes corrispondente.
    3. Il server API Kubernetes autorizza la richiesta, il che richiede che l'agente Connect sia autorizzato a impersonare l'utente o il servizio e che l'utente o il servizio sia autorizzato a eseguire la richiesta desiderata.

Assistenza di Google Gruppi

Nel flusso standard descritto nella sezione precedente, la richiesta dell'utente viene autorizzata in base al suo ID individuale. Tuttavia, in molti casi è utile poter autorizzare gli utenti in base alla loro appartenenza a Google Gruppi. L'autorizzazione in base all'appartenenza ai gruppi significa che non devi configurare autorizzazioni separate per ogni account e i criteri sono più semplici da gestire e più facili da controllare. Ad esempio, puoi condividere facilmente l'accesso ai cluster con un team, eliminando la necessità di aggiungere/rimuovere manualmente i singoli utenti dai cluster quando entrano a far parte del team o lo lasciano. Dopo alcune configurazioni aggiuntive che utilizzano GKE Identity Service, puoi configurare il gateway di Connect in modo che riceva le informazioni sull'iscrizione ai gruppi Google per l'utente.

Per saperne di più sul funzionamento di questa funzionalità e su come configurarla, vedi Configurare il gateway di Connect con Google Gruppi.

Se vuoi utilizzare questa funzionalità con i cluster collegati o altri ambienti di cluster GKE, contatta l'assistenza clienti Google Cloud o il team di Connect Gateway.

Assistenza per le identità di terze parti

Oltre a funzionare con utenti e gruppi di Google Workspace, Connect Gateway supporta l'autorizzazione mediante identità di terze parti come Azure Active Directory e Okta. Se utilizzi la federazione delle identità per la forza lavoro, puoi utilizzare un provider di identità esterno per autenticare e autorizzare una forza lavoro, ad esempio un gruppo di utenti, ad esempio dipendenti, partner e terzisti, utilizzando Identity and Access Management, in modo che gli utenti possano accedere a servizi Google Cloud come il gateway Connect. Dopo alcune configurazioni aggiuntive che utilizzano GKE Identity Service, puoi configurare il gateway di Connect per ricevere informazioni sull'iscrizione a gruppi di terze parti per gli utenti.

La funzionalità di identità di terze parti del gateway Connect è supportata per GKE su VMware e GKE su Bare Metal a partire dalla versione Anthos 1.13. Per i cluster collegati, questa funzionalità è disponibile da GKE Enterprise 1.16 e versioni successive.

Per saperne di più sul funzionamento di questa funzionalità e su come configurarla, consulta Configurare il gateway di Connect con identità di terze parti.

Se preferisci, puoi configurare l'autenticazione di terze parti interamente utilizzando GKE Identity Service seguendo le istruzioni riportate nella relativa documentazione.

Latenza

La latenza totale di una richiesta tramite il gateway può essere suddivisa in due parti: RTT (Round Trip Time) dal servizio gateway Connect all'agente Connect e il tempo di esecuzione della richiesta all'interno del cluster. La latenza aggiuntiva offerta dall'RTT è p95<500ms e p99<1s. Tieni presente che la maggior parte dei comandi kubectl esegue una serie di richieste diverse, ognuna delle quali prevede un round trip, prima di mostrare una risposta all'utente.

Che cosa succede dopo?