Collegare cluster di terze parti a Google Cloud (generazione precedente)

I cluster collegati a GKE consentono di visualizzare i cluster Kubernetes esistenti nella console Google Cloud insieme ai cluster GKE e di attivare diverse funzionalità di GKE Enterprise, 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 e visualizzarlo nella console Google Cloud con i tuoi cluster GKE.

I seguenti tipi e versioni di cluster sono stati convalidati da Google. Per informazioni sulle funzionalità di GKE Enterprise supportate sui cluster collegati, consulta Componenti di Anthos e supporto multi-cloud.

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

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Anthos API.

    Enable the API

  5. Install the Google Cloud CLI.

  6. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  7. To initialize the gcloud CLI, run the following command:

    gcloud init
  8. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  9. Make sure that billing is enabled for your Google Cloud project.

  10. Enable the Anthos API.

    Enable the API

  11. Install the Google Cloud CLI.

  12. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  13. To initialize the gcloud CLI, run the following command:

    gcloud init
  14. Controlla i prerequisiti per la registrazione del parco risorse per assicurarti di disporre delle autorizzazioni pertinenti e delle API abilitate per registrare un cluster.
  15. Consulta la guida Prima di iniziare per i requisiti specifici per il collegamento di cluster esterni a Google Cloud, inclusi eventuali passaggi di configurazione speciali necessari per il tipo di cluster.
  16. Registra cluster collegati

    Devi registrare tutti i cluster che vuoi utilizzare con GKE Enterprise 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 di GKE Enterprise e Google Cloud utilizzano concetti di parco risorse come identità e spazio dei nomi identici per semplificare l'utilizzo di più cluster. 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 attivare e utilizzare le funzionalità di GKE Enterprise su questi cluster e puoi gestire alcune funzionalità di GKE Enterprise a livello di parco risorse dalla pagina delle funzionalità di GKE. Gli addebiti di GKE Enterprise si applicano solo ai cluster registrati.

    Configura l'identità

    Tutti i cluster collegati richiedono un'identità da utilizzare per l'agente Connect durante 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 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 service account 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 service account Google Cloud con gcloud. Dopo aver creato l'account di servizio, puoi utilizzare il file JSON con le credenziali (file della chiave) dell'account di servizio per registrare il cluster, come descritto nella sezione successiva.

    Registra il cluster

    Ti consigliamo di controllare lo stato di appartenenza del cluster dopo averlo registrato per assicurarti che sia connesso correttamente a Google Cloud. Se riscontri problemi con la registrazione, consulta la nostra guida per la risoluzione dei problemi.

    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 nell'ambito dei prerequisiti. Questa chiave del account di servizio viene archiviata come secret denominato creds-gcp nello spazio dei nomi gke-connect.
    • KUBECONFIG_CONTEXT: il contesto del cluster da registrare così come appare nel file kubeconfig. Puoi recuperare 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 da registrare. Il valore predefinito è $KUBECONFIG se è impostata la variabile di ambiente; altrimenti, il valore predefinito è $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 il seguente 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

    Generare un comando di registrazione

    Puoi utilizzare la console Google Cloud per generare un comando di registrazione gcloud per registrare il cluster (solo con un account di servizio).

    Per registrare un cluster:

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

      Vai ai cluster GKE

    2. Fai clic su Registra cluster esistente.

    3. Fai clic su Aggiungi cluster esterno.

    4. Inserisci il nome del cluster che vuoi registrare nel campo Nome cluster.

    5. (Facoltativo) Aggiungi Google Cloud etichette al cluster.

    6. Fai clic su Genera comando di registrazione.

    7. In Cloud Shell o ovunque tu abbia salvato le credenziali del account di servizio, modifica ed esegui il comando gcloud visualizzato nella pagina. Devi specificare i seguenti valori:

      • CLUSTER_CONTEXT è il contesto del cluster così come appare nel file kubeconfig. Puoi recuperare questo valore dalla riga di comando eseguendo kubectl config current-context.
      • KUBECONFIG_PATH è il percorso file locale in cui è archiviato il file kubeconfig. Per impostazione predefinita, questo valore è $KUBECONFIG se è impostata la variabile di ambiente; in caso contrario, il valore predefinito è $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 è registrato, sulla pagina viene visualizzato un messaggio di operazione riuscita.

    8. Fai clic su Imposta etichette o su Salta se non hai impostato alcuna etichetta.

    Opzioni di registrazione avanzate (solo riga di comando)

    Scaricare 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 che venga archiviato il manifest di installazione di Connect Agent.

    Se utilizzi questa opzione, non verrà eseguito 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 proxy.

    Connect Agent supporta solo 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 inserire un nome host HTTPS:

    --proxy=https://mycorpproxy.com:443

    Se non diversamente specificato, Connect Agent utilizza la porta 3128 per il proxy.

    Se il proxy richiede l'autorizzazione, assicurati di inserire le tue credenziali, ad esempio:

    --proxy=http://user:[email protected]:8888

    Installazione dell'agente Connect in un cluster con nodi Windows e Linux

    L'agente di connessione deve essere eseguito su un nodo Linux. Se esegui l'installazione in un cluster misto con nodi Linux e Windows, puoi assicurarti che Connect Agent venga eseguito il deployment su un nodo Linux aggiungendo un selettore di nodi appropriato alla definizione di 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-connect

    Il comando dovrebbe restituire:

    {"kubernetes.io/os":"linux"}

    Risoluzione dei problemi

    Se riscontri problemi durante questa configurazione, consulta la guida alla risoluzione dei problemi per la creazione della flotta.

    Abilita le funzionalità di GKE Enterprise sui cluster collegati

    Dopo aver registrato i cluster, puoi abilitare le funzionalità GKE Enterprise disponibili per le tue applicazioni. Queste funzionalità sono supportate solo nei nostri tipi di cluster convalidati. Puoi visualizzare le versioni correnti delle funzionalità supportate su questi tipi in Supporto per versioni e upgrade.

    Le seguenti guide mostrano come attivare le funzionalità supportate sui cluster:

    Per set di documentazione completi per tutti i componenti di GKE Enterprise, inclusi tutorial, materiale di riferimento e altro ancora, consulta Componenti di GKE Enterprise.

    Accedere ai cluster collegati

    Dopo aver registrato un cluster collegato, questo viene visualizzato nelle pagine dei cluster GKE e Anthos in Google Cloud console. Tuttavia, per visualizzare ulteriori dettagli come nodi e carichi di lavoro, devi accedere al cluster e autenticarti. Per accedere ai cluster collegati dalla Google Cloud console, segui le istruzioni riportate in Accesso 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'identità Google Cloud , consulta Connessione ai cluster registrati con Connect Gateway.

    Per autenticarti nei cluster collegati utilizzando il tuo provider di identità di terze parti esistente (solo cluster EKS su AWS, funzionalità di anteprima), consulta Configurazione di GKE Identity Service per un parco risorse e Accesso ai cluster con GKE Identity Service.

    Passaggi successivi