I cluster collegati a GKE consentono di visualizzare i cluster Kubernetes esistenti nella Google Cloud console insieme ai cluster GKE, e di abilitare diverse funzionalità GKE, tra cui il controllo centralizzato della configurazione con Config Sync.
Cluster Kubernetes supportati
Puoi collegare al tuo parco qualsiasi cluster Kubernetes conforme che include nodi x86 nel parco risorse e visualizzarlo nella Google Cloud console con i tuoi cluster GKE.
I seguenti tipi e versioni di cluster sono stati convalidati da Google. Per informazioni sulle funzionalità GKE supportate sui cluster collegati, consulta Supporto per la versione e l'upgrade di GKE.
| Tipi di cluster collegati | Versioni di Kubernetes |
|---|---|
| Red Hat OpenShift Kubernetes Engine (OKE) 4.9, 4.10 | 1.23, 1.24 |
| Red Hat OpenShift Container Platform (OCP) 4.9, 4.10 | 1.23, 1.24 |
| Rancher Kubernetes Engine (RKE) 1.3.8 | 1.23, 1.24 |
| KIND 0.12 | 1.23, 1.24 |
| K3s 1.20 | 1.20 |
| K3d 4.4.3 | 1.20 |
Prima di iniziare
- Accedi al tuo Google Cloud account. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Anthos API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Anthos API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init - Controlla i prerequisiti per la registrazione del parco risorse per assicurarti di disporre delle autorizzazioni pertinenti e delle API abilitate per registrare un cluster.
- Consulta la guida Prima di iniziare per i requisiti specifici per il collegamento di cluster esterni Google Cloud, inclusi eventuali passaggi di configurazione speciali necessari per il tipo di cluster.
Registra i cluster collegati
Devi registrare tutti i cluster che vuoi utilizzare con le funzionalità GKE nel parco risorse del tuo progetto. Un parco risorse fornisce un modo per raggruppare e normalizzare logicamente i cluster Kubernetes, facilitando l'amministrazione dell'infrastruttura. I cluster nello stesso parco risorse possono essere sfogliati e gestiti insieme nella Google Cloud console e molti componenti GKE utilizzano concetti di parco risorse come l'identità e l'identità dello spazio dei nomi per semplificare l'utilizzo di più cluster. Google Cloud Puoi scoprire molto di più sui parchi risorse e sulle funzionalità che abilitano nella nostra guida alla gestione del parco risorse.
Hai il diritto di abilitare e utilizzare le funzionalità GKE su questi cluster e puoi gestire alcune funzionalità GKE a livello di parco risorse dalla pagina delle funzionalità GKE.
Configura l'identità
Tutti i cluster collegati richiedono un'identità che l'agente Connect possa utilizzare per l'autenticazione su Google. Se il cluster soddisfa i requisiti, puoi registrarlo con Workload Identity del parco risorse abilitata per l'autenticazione. I cluster con questa funzionalità abilitata utilizzano le identità di un pool di identità del workload del parco risorse a livello di parco risorse. Puoi scoprire di più su come funziona Workload Identity del parco risorse e sui vantaggi del suo utilizzo in Utilizzare Workload Identity del parco risorse.
Se non puoi utilizzare Workload Identity del parco risorse, la registrazione di un cluster collegato richiede un Google Cloud account di servizio per l'autenticazione. Ti consigliamo di creare un nuovo account di servizio per ogni cluster che vuoi collegare. Per creare un account di servizio per un cluster con i ruoli appropriati, segui le istruzioni riportate in
Creare un Google Cloud account di servizio con gcloud.
Dopo aver creato il tuo account di servizio, puoi utilizzare il file JSON con le credenziali dell'account di servizio (file di chiave) per registrare il cluster, come descritto nella sezione successiva.
Registra il cluster
Ti consigliamo di verificare lo stato di appartenenza del cluster dopo averlo registrato per assicurarti che sia connesso correttamente a Google Cloud. Consulta la nostra guida alla risoluzione dei problemi se riscontri problemi con la registrazione.
gcloud
Esegui questo comando:
gcloud container fleet memberships register MEMBERSHIP_NAME \ --context=KUBECONFIG_CONTEXT \ --kubeconfig=KUBECONFIG_PATH \ --service-account-key-file=SERVICE_ACCOUNT_KEY_PATH
Sostituisci quanto segue:
- MEMBERSHIP_NAME: il nome dell'appartenenza che scegli e che viene utilizzato per rappresentare in modo univoco il cluster registrato nel parco risorse.
- SERVICE_ACCOUNT_KEY_PATH: il percorso file locale del
file JSON della chiave privata dell'account di servizio scaricato come parte dei prerequisiti.
Questa chiave del account di servizio viene archiviata come secret denominato
creds-gcpnello spazio dei nomigke-connect. - KUBECONFIG_CONTEXT: il contesto del cluster del cluster registrato
così come appare nel file kubeconfig. Puoi ottenere questo valore dalla riga di comando eseguendo
kubectl config current-context. - KUBECONFIG_PATH: il percorso file locale in cui è archiviato il file
kubeconfig contenente una voce per il cluster registrato.
Per impostazione predefinita, questo percorso sarà
$KUBECONFIGse è impostata questa variabile di ambiente, altrimenti sarà$HOME/.kube/config.
Registra un cluster collegato con Workload Identity del parco risorse
Per registrare un cluster collegato con Workload Identity del parco risorse abilitata, esegui questo comando. Per ulteriori informazioni sui tipi di cluster collegati che possono utilizzare questa funzionalità e su eventuali requisiti aggiuntivi, consulta Prerequisiti per i cluster collegati.
gcloud container fleet memberships register MEMBERSHIP_NAME \ --context=KUBECONFIG_CONTEXT \ --kubeconfig=KUBECONFIG_PATH \ --enable-workload-identity \ --has-private-issuer
Console
Genera un comando di registrazione
Puoi utilizzare la Google Cloud console per generare un gcloud comando di registrazione per registrare il cluster (solo con un account di servizio).
Per registrare un cluster:
Nella Google Cloud console, vai alla pagina Panoramica dei cluster Google Kubernetes Engine.
Fai clic su Registra cluster esistente.
Fai clic su Aggiungi cluster esterno.
Inserisci il nome del cluster che vuoi registrare nel campo Nome del cluster.
(Facoltativo) Aggiungietichette al cluster. Google Cloud
Fai clic su Genera comando di registrazione.
In Cloud Shell o ovunque tu abbia salvato le credenziali dell'account di servizio, modifica ed esegui il comando
gcloudvisualizzato nella pagina. Devi specificare i seguenti valori:- Il CLUSTER_CONTEXT è il contesto del cluster così come appare nel file kubeconfig. Puoi ottenere questo valore dalla riga di comando eseguendo
kubectl config current-context. - Il KUBECONFIG_PATH è il percorso file locale in cui è archiviato il file kubeconfig. Per impostazione predefinita, questo percorso sarà
$KUBECONFIGse è impostata questa variabile di ambiente, altrimenti sarà$HOME/.kube/config. - LOCAL_KEY_PATH è il percorso del file di chiave dell'account di servizio.
L'esecuzione di questo comando esegue il deployment dell'agente Connect nel cluster utente. Quando l'agente Connect si connette a Google Cloud e il cluster viene registrato, nella pagina viene visualizzato un messaggio di operazione riuscita.
- Il CLUSTER_CONTEXT è il contesto del cluster così come appare nel file kubeconfig. Puoi ottenere questo valore dalla riga di comando eseguendo
Fai clic su Imposta etichette o su Salta se non hai impostato etichette.
Opzioni di registrazione avanzate (solo riga di comando)
Scarica il manifest dell'agente Connect
Per scaricare il manifest di installazione dell'agente Connect senza eseguire il deployment dell'agente, ad esempio se vuoi esaminare o modificare il manifest prima dell'installazione, passa il flag --manifest-output-file al comando gcloud container fleet memberships register. Ad esempio:
--manifest-output-file=[MANIFEST_FILE_PATH]
dove [MANIFEST_FILE_PATH] è il percorso file locale in cui vuoi archiviare il manifest di installazione dell'agente Connect.
L'utilizzo di questa opzione non esegue il deployment dell'agente Connect nel cluster. Per eseguire il deployment dell'agente Connect, applica manualmente il manifest scaricato al cluster.
Utilizzo di un server proxy
Per configurare un server proxy, passa il flag --proxy al comando gcloud container fleet memberships register. Ad esempio:
--proxy=[URL]
dove [URL] è l'indirizzo del proxy.
L'agente Connect supporta solo i proxy HTTP e HTTPS basati su CONNECT e accetta indirizzi IP e nomi host. Assicurati di specificare il protocollo corrispondente al tipo di proxy nell'URL. Ad esempio, per passare un nome host HTTPS:
--proxy=https://mycorpproxy.com:443
Se non specifichi diversamente, l'agente Connect utilizza la porta 3128 per il proxy.
Se il proxy richiede l'autorizzazione, assicurati di passare le credenziali, ad esempio:
--proxy=http://user:password@10.10.10.10:8888
Installazione dell'agente Connect in un cluster con nodi Windows e Linux
L'agente Connect deve essere eseguito su un nodo Linux. Se esegui l'installazione in un cluster misto con nodi Linux e Windows, puoi assicurarti che l'agente Connect venga sottoposto a deployment su un nodo Linux aggiungendo un selettore di nodi appropriato alla definizione del deployment.
Esegui questo comando per aggiornare il deployment con il selettore di nodi appropriato:
kubectl patch deployment \
$(kubectl get deployment -o=jsonpath='{.items[*].metadata.name}' -n gke-connect) \
-p '{"spec":{"template":{"spec":{"nodeSelector":{"kubernetes.io/os":"linux"}}}}}' -n gke-connect
Per verificare che l'aggiornamento sia andato a buon fine, esegui questo comando:
kubectl get deployment -o=jsonpath='{.items[].spec.template.spec.nodeSelector}' -n gke-connectIl comando dovrebbe restituire:
{"kubernetes.io/os":"linux"}Risoluzione dei problemi
Se riscontri problemi durante questa configurazione, consulta la guida alla risoluzione dei problemi relativi alla creazione del parco risorse troubleshooting guide.
Abilita le funzionalità GKE sui cluster collegati
Dopo aver registrato i cluster, puoi abilitare le funzionalità GKE disponibili per le tue applicazioni. Queste funzionalità sono supportate solo sui tipi di cluster convalidati. Puoi visualizzare le versioni delle funzionalità attualmente supportate su questi tipi in Supporto per la versione e l'upgrade.
Le seguenti guide mostrano come abilitare le funzionalità supportate sui cluster:
Cloud Service Mesh 1.11 e versioni successive supportano Amazon EKS:
Gestione di configurazione e criteri:
Accedi ai cluster collegati
Dopo aver registrato un cluster collegato, questo viene visualizzato nelle pagine dei cluster GKE in Google Cloud console. Tuttavia, per visualizzare ulteriori dettagli come nodi e workload, devi accedere al cluster ed eseguire l'autenticazione. Per accedere ai cluster collegati dalla Google Cloud console, segui le istruzioni riportate in Accedere ai cluster dalla Google Cloud console. A seconda del metodo di autenticazione scelto, tieni presente che tu o un amministratore della piattaforma potreste dover eseguire una configurazione aggiuntiva prima che tu o altri utenti possiate accedere al cluster.
Per accedere ai cluster collegati dalla riga di comando utilizzando un' Google Cloud identità, consulta Connettersi ai cluster registrati con il gateway Connect.
Per eseguire l'autenticazione ai cluster collegati utilizzando il provider di identità di terze parti esistente (solo cluster EKS su AWS, funzionalità in anteprima), consulta Configurare GKE Identity Service per un parco risorse e Accedere ai cluster con GKE Identity Service.
Passaggi successivi
- Configura logging e monitoraggio per i cluster collegati
- Risolvi i problemi relativi ai cluster collegati