Connettiti ai cluster registrati con Connect Gateway
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. Connect Gateway si basa sulla potenza dei parchi risorse per consentire agli utenti GKE di connettersi ed eseguire comandi sui cluster membri del parco risorse in modo semplice, coerente e sicuro, indipendentemente dal fatto che i cluster si trovino su Google Cloud, su 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 scoprire di più nella panoramica della gestione dei parchi risorse, nella panoramica della creazione del parco risorse e nelle guide collegate. Devi anche avere familiarità con gli strumenti e i concetti di Kubernetes, tra cui kubectl
, client-go
(se vuoi utilizzare il gateway a scopo di automazione), controllo dell'accesso basato sui ruoli (RBAC) e le risorse Kubernetes di base.
Per impostazione predefinita, Connect Gateway utilizza il tuo ID Google per l'autenticazione ai cluster, con il supporto di provider di identità di terze parti che utilizzano la federazione delle identità per la forza lavoro e con il supporto dell'autenticazione basata su gruppi tramite GKE Identity Service. Se vuoi scoprire di più su GKE Identity Service o utilizzarlo come opzione di autenticazione di terze parti autonoma, consulta Introduzione a GKE Identity Service.
Perché utilizzare Connect Gateway?
La gestione dei carichi di lavoro presenta molte sfide quando i cluster vengono eseguiti in più cloud e ambienti ibridi. I cluster potrebbero essere eseguiti in diversi virtual private cloud (VPC) e utilizzare diversi provider di identità, rendendo più complicate la connettività, l'autenticazione e l'autorizzazione. A volte, è difficile anche solo scoprire quali cluster esistono in questi ambienti.
Connect Gateway semplifica:
- 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 .
- Autenticati utilizzando le stesse identità che utilizzi con i servizi Google Cloud .
- Autorizza in modo coerente in tutti i cluster registrati in un parco risorse.
Il gateway autentica la tua Google Cloud identità 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 un kubeconfig
come kubectl
. Puoi anche sfruttare facilmente il gateway con le pipeline di build e altre automazioni DevOps. Puoi vedere un esempio di come farlo nel nostro tutorial Integrazione con Cloud Build.
Puoi anche utilizzare il servizio Connect per connetterti ai cluster registrati all'esterno Google Cloud con la tua identità Google Cloud nella console Google Cloud . Per farlo, segui le istruzioni riportate in Lavora con i cluster dalla console Google Cloud .
Come funziona
Di seguito è riportato il flusso che un utente o un servizio tipico (ad esempio una pipeline CI/CD) esegue per utilizzare Connect Gateway, dopo aver configurato l'autenticazione e l'autorizzazione appropriate. Per istruzioni per l'utente più dettagliate, consulta la nostra guida all'utilizzo.
L'utente o il servizio rileva i cluster elencando le risorse di appartenenza al parco risorse con Google Cloud CLI.
gcloud container fleet memberships list
L'utente o il servizio recupera
kubeconfig
specifico per Connect Gateway 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, questa operazione è simile all'esecuzione di
gcloud container clusters get-credentials
utilizzando il tuo account Google Cloud , che ti consente (se autorizzato) di accedere a qualsiasi cluster registrato e connesso all'interno della flotta del tuo progetto.L'utente o il servizio esegue i comandi come di consueto con
kubectl
oclient-go
, utilizzando il filekubeconfig
scaricato.- L'utente/servizio viene autenticato da Connect Gateway e l'autorizzazione viene controllata per verificare che abbia l'autorizzazione per utilizzare il gateway. Per i cluster GKE, il gateway si connette direttamente al cluster GKE.
- Per i cluster Kubernetes non GKE, la richiesta viene inoltrata tramite il servizio Connect e l'agente Connect al server API Kubernetes corrispondente.
- Per i cluster Kubernetes non GKE, il server API Kubernetes autorizza la richiesta, il che richiede che l'agente Connect sia autorizzato a rappresentare l'utente o il servizio e che l'utente o il servizio sia autorizzato a eseguire la richiesta desiderata.
Assistenza Gruppi Google
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 basata sull'appartenenza a un gruppo significa che non devi configurare un'autorizzazione separata per ogni account, il che rende le norme più semplici da gestire e controllare. Ad esempio, puoi condividere facilmente l'accesso al 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. Con alcune configurazioni aggiuntive utilizzando GKE Identity Service, puoi configurare Connect Gateway per ottenere informazioni sull'appartenenza a Google Gruppi per l'utente.
Puoi scoprire di più su come funziona questa funzionalità e su come configurarla in Configurare il gateway Connect con Google Gruppi.
Se vuoi utilizzare questa funzionalità con cluster collegati o altri ambienti GKE, contatta l'assistenza clienti Google Cloud o il team di Connect Gateway.
Supporto dell'identità di terze parti
Oltre a funzionare con utenti e gruppi Google Workspace, il gateway di connessione supporta l'autorizzazione tramite identità di terze parti, come Azure Active Directory e Okta. Utilizzando la federazione delle identità per la forza lavoro, puoi utilizzare un provider di identità esterno per autenticare e autorizzare una forza lavoro, ovvero un gruppo di utenti come dipendenti, partner e collaboratori, utilizzando Identity and Access Management, in modo che gli utenti possano accedere ai serviziGoogle Cloud come il gateway Connect. Con alcune configurazioni aggiuntive utilizzando GKE Identity Service, puoi configurare il gateway Connect per ottenere informazioni sull'appartenenza a gruppi di terze parti per gli utenti.
Per i cluster GKE collegati, questa funzionalità è disponibile per tutte le versioni del cluster Kubernetes supportate.
Per scoprire di più su come funziona questa funzionalità e come configurarla, consulta Configurare il gateway 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: il 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 causata dall'RTT è p95 < 500 ms e p99 < 1 s. Tieni presente che la maggior parte dei comandi kubectl
esegue una serie di richieste diverse, ognuna delle quali richiede un round trip, prima di restituire una risposta all'utente.
Passaggi successivi
- Scopri come configurare il gateway Connect per utenti e service account
- Scopri come configurare il supporto di Google Gruppi per Connect Gateway.
- Scopri come connetterti a un cluster registrato ed eseguire comandi utilizzando Connect Gateway.
- Consulta un esempio di come utilizzare il gateway Connect nell'ambito dell'automazione DevOps nel nostro tutorial Integrazione con Cloud Build.