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

I cluster utente Anthos su VMware (GKE On-Prem) creati utilizzando gkectl non sono configurati per funzionare con l'API Anthos On-Prem, ovvero l'API ospitata da Google Cloud che viene abilitata automaticamente quando crei i 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 parco risorse, che viene creato automaticamente al momento della creazione del 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 passaggi seguenti 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 utilizzare un nome che descriva lo scopo dell'account di servizio, ad esempio enrollment-sa.
    • SA_PROJECT_ID l'ID del progetto padre del tuo 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. Abilita l'API Anthos On-Prem nel tuo progetto host del parco risorse:

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

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

  5. Concedi il ruolo gkeonprem.admin al tuo account di servizio:

    gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \
        --member "serviceAccount:SA_NAME@SA_PROJECT_ID.iam.gserviceaccount.com" \
        --role "roles/gkeonprem.admin"
    
  6. Configura le tue credenziali predefinite dell'applicazione per utilizzare l'account di servizio. Questo garantisce che l'interfaccia alla gcloud CLI 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 in un progetto hai più di un cluster utente che vuoi registrare, puoi utilizzare lo stesso account di servizio e la stessa chiave ed eseguire gkectl enroll cluster per ogni cluster.