Configura un cluster utente da gestire tramite l'API GKE On-Prem

I cluster utente Anthos su VMware (GKE On-Prem) creati utilizzando gkectl non sono configurati per funzionare con l'API GKE On-Prem, l'API ospitata su Google Cloud che viene attivata automaticamente quando crei cluster utente nella console Google Cloud. Per utilizzare la console per gestire il ciclo di vita dei cluster utente creati utilizzando gkectl, devi configurare il cluster utilizzando il comando gkectl enroll cluster.

Requisiti

Il cluster utente deve soddisfare i seguenti requisiti:

  • Versione 1.11 o successive.
  • Registrato con un flotta, che viene eseguito automaticamente quando viene creato il cluster a partire dalla versione 1.8.
  • Se la tua organizzazione ha impostato una lista consentita che consente al traffico delle API di Google e di altri indirizzi di passare attraverso il server proxy, aggiungi quanto segue alla lista consentita:

    • gkeonprem.googleapis.com
    • gkeonprem.mtls.googleapis.com

Registra un cluster utente

Esegui i seguenti passaggi sulla tua workstation di amministrazione.

  1. Accedi con il tuo Account Google:

    gcloud auth login --no-browser
    
  2. Crea un account di servizio per autorizzare gkectl a registrare il cluster:

    gcloud iam service-accounts create SA_NAME \
        --project SA_PROJECT_ID
    

    Sostituisci quanto segue:

    • SA_NAME con il nome che vuoi assegnare all'account di servizio. Potresti usare un nome che descriva lo scopo dell'account di servizio, ad esempio enrollment-sa.
    • SA_PROJECT_ID l'ID del progetto principale dell'account di servizio. Il progetto in cui crei l'account di servizio può essere lo stesso o un progetto diverso in cui viene utilizzato l'account di servizio,
  3. Crea una chiave JSON per il tuo account di servizio:

    gcloud iam service-accounts keys create SA_NAME-key.json \
       --iam-account=SA_NAME@SA_PROJECT_ID.iam.gserviceaccount.com
    
  4. Abilitare l'API GKE On-Prem nel progetto host del parco risorse:

    gcloud services enable \
        --project FLEET_PROJECT_ID \
        gkeonprem.googleapis.com
    

    Sostituisci FLEET_PROJECT_ID con l'ID del progetto host del parco risorse. Deve essere lo stesso progetto Cloud a cui sono registrati i cluster di amministrazione e utente, specificato nel campo gkeConnect.projectID nel file di configurazione del cluster.

  5. Concedi il ruolo gkeonprem.admin all'account di servizio:

    gcloud projects add-iam-policy-binding FLEET_PROJECT_ID \
        --member "serviceAccount:SA_NAME@SA_PROJECT_ID.iam.gserviceaccount.com" \
        --role "roles/gkeonprem.admin"
    
  6. Configura le credenziali predefinite dell'applicazione per utilizzare l'account di servizio. Questo fa sì che l'interfaccia a riga di comando gcloud utilizzi l'account di servizio creato in precedenza.

    export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_SA_KEY/SA_NAME-key.json
    
  7. Esegui il comando gkectl enroll cluster. Sostituisci quanto segue:

    • CLUSTER_NAME con il nome del cluster utente.
    • ADMIN_CLUSTER_KUBECONFIG con il percorso del file kubeconfig del cluster di amministrazione.
    gkectl enroll cluster --cluster-name=CLUSTER_NAME \
      --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Se hai più di un cluster utente in un progetto che vuoi registrare, puoi utilizzare lo stesso account di servizio e la stessa chiave ed eseguire gkectl enroll cluster per ogni cluster.