Configurazione per l'installazione di Anthos Service Mesh su GKE

Questa pagina descrive la configurazione di Anthos Service Mesh per il tuo progetto Cloud e i cluster Google Kubernetes Engine (GKE) per una rete mesh composta da cluster che fanno parte dello stesso progetto. Quando utilizzi lo script fornito da Google install_asm, lo script può configurare il progetto e il cluster per te se includi il flag --enable_all o i flag di abilitazione più granulari. Se preferisci eseguire la configurazione autonomamente anziché chiedere a install_asm di apportare le modifiche, segui i passaggi indicati in questa pagina. Se hai già installato una versione precedente di Anthos Service Mesh, non è necessario apportare modifiche al progetto o al cluster prima di utilizzare install_asm per eseguire l'upgrade alla versione più recente di Anthos Service Mesh.

Prima di iniziare

Configurazione del progetto in corso…

  1. Recupera l'ID e il numero del progetto in cui è stato creato il cluster.

    gcloud

    Esegui questo comando:

    gcloud projects list
    

    Console

    1. Vai alla pagina Dashboard nella console Google Cloud.

      Vai alla pagina Dashboard

    2. Fai clic sull'elenco a discesa nella parte superiore della pagina. Nella finestra Seleziona da visualizzata, scegli il tuo progetto.

      L'ID e il numero del progetto sono visualizzati nella scheda Informazioni sul progetto della dashboard del progetto.

  2. Crea le seguenti variabili di ambiente:

    • Imposta il pool di carichi di lavoro utilizzando l'ID progetto:

      export WORKLOAD_POOL=PROJECT_ID.svc.id.goog
      
    • Imposta l'ID mesh utilizzando il numero di progetto:

      export MESH_ID="proj-PROJECT_NUMBER"
      
  3. Imposta i ruoli IAM (Identity and Access Management) richiesti. Se sei un proprietario di progetto, disponi di tutte le autorizzazioni necessarie per completare l'installazione. Se non sei un proprietario del progetto, è necessaria una persona che ti conceda i ruoli IAM specifici riportati di seguito. Nel seguente comando, sostituisci PROJECT_ID con l'ID progetto del passaggio precedente e GCP_EMAIL_ADDRESS con l'account che utilizzi per accedere a Google Cloud.

    ROLES=(
    'roles/servicemanagement.admin' \
    'roles/serviceusage.serviceUsageAdmin' \
    'roles/meshconfig.admin' \
    'roles/compute.admin' \
    'roles/container.admin' \
    'roles/resourcemanager.projectIamAdmin' \
    'roles/iam.serviceAccountAdmin' \
    'roles/iam.serviceAccountKeyAdmin' \
    'roles/gkehub.admin')
    for role in "${ROLES[@]}"
    do
      gcloud projects add-iam-policy-binding PROJECT_ID \
        --member "user:GCP_EMAIL_ADDRESS" \
        --role="$role"
    done
    

    Se includi il flag --enable_all o --enable_gcp_iam_roles quando esegui install_asm, questo imposta i ruoli IAM richiesti per te.

  4. Abilita le seguenti API di Google:

    gcloud services enable \
        --project=PROJECT_ID \
        container.googleapis.com \
        compute.googleapis.com \
        monitoring.googleapis.com \
        logging.googleapis.com \
        cloudtrace.googleapis.com \
        meshca.googleapis.com \
        meshtelemetry.googleapis.com \
        meshconfig.googleapis.com \
        iamcredentials.googleapis.com \
        gkeconnect.googleapis.com \
        gkehub.googleapis.com \
        cloudresourcemanager.googleapis.com \
        stackdriver.googleapis.com
    

    L'abilitazione delle API può richiedere un minuto o più. Quando le API sono abilitate, vedrai un output simile al seguente:

    Operation "operations/acf.601db672-88e6-4f98-8ceb-aa3b5725533c" finished
    successfully.
    

    Se includi il flag --enable_all o --enable_apis quando esegui install_asm, questo abilita automaticamente le API richieste.

Configurazione del cluster

Se includi il flag --enable_all o uno dei flag di abilitazione più granulari, lo script install_asm configura il cluster per te.

  1. Imposta la zona o la regione predefinita per Google Cloud CLI. Se non imposti il valore predefinito qui, assicurati di specificare l'opzione --zone o --region nei comandi gcloud container clusters in questa pagina.

    • Se hai un cluster a zona singola, imposta la zona predefinita:

      gcloud config set compute/zone CLUSTER_LOCATION
      
    • Se hai un cluster a livello di regione, imposta la regione predefinita:

      gcloud config set compute/region CLUSTER_LOCATION
      
  2. Imposta l'etichetta mesh_id sul cluster. Se nel cluster esistono già etichette che vuoi conservare, devi includerle quando aggiungi l'etichetta mesh_id.

    1. Per verificare se il cluster ha etichette esistenti:

      gcloud container clusters describe CLUSTER_NAME \
          --project PROJECT_ID
      

      Cerca il campo resourceLabels nell'output. Ogni etichetta viene archiviata in una riga separata sotto il campo resourceLabels, ad esempio:

      resourceLabels:
        csm: ''
        env: dev
        release: stable

      Per praticità, puoi aggiungere le etichette a una variabile di ambiente. Nel seguente, sostituisci YOUR_EXISTING_LABELS con un elenco separato da virgole delle etichette esistenti sul tuo cluster nel formato KEY=VALUE, ad esempio: env=dev,release=stable

      export EXISTING_LABELS="YOUR_EXISTING_LABELS"
      
    2. Imposta l'etichetta mesh_id:

      • Se nel cluster esistono etichette che vuoi conservare, aggiorna il cluster con mesh_id e le etichette esistenti:

        gcloud container clusters update CLUSTER_NAME \
            --project PROJECT_ID \
            --update-labels=mesh_id=${MESH_ID},${EXISTING_LABELS}
        
      • Se il cluster non ha etichette esistenti, aggiorna il cluster solo con l'etichetta mesh_id:

        gcloud container clusters update CLUSTER_NAME \
            --project=PROJECT_ID \
            --update-labels=mesh_id=${MESH_ID}
        
  3. Attiva Workload Identity:

    gcloud container clusters update CLUSTER_NAME \
        --project=PROJECT_ID \
        --workload-pool=${WORKLOAD_POOL}
    

    L'abilitazione di Workload Identity può richiedere da 10 a 15 minuti.

  4. Inizializza il progetto per prepararlo per l'installazione. Tra le altre cose, questo comando crea un account di servizio per consentire ai componenti del piano dati, come il proxy sidecar, di accedere in modo sicuro ai dati e alle risorse del tuo progetto.

    curl --request POST \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --data '' \
      "https://meshconfig.googleapis.com/v1alpha1/projects/PROJECT_ID:initialize"
    

    Il comando risponde con parentesi graffe vuote: {}

  5. Abilita Cloud Monitoring e Cloud Logging su GKE:

    gcloud container clusters update CLUSTER_NAME \
        --project=PROJECT_ID \
        --logging=SYSTEM,WORKLOAD \
        --monitoring=SYSTEM
    

Il progetto e il cluster GKE sono ora pronti per una nuova installazione o migrazione da Istio utilizzando install_asm. Quando installi Anthos Service Mesh utilizzando install_asm, lo script:

  1. Convalida il progetto e il cluster.
  2. Crea un account di servizio nel progetto per consentire ai componenti del piano di controllo di accedere ai dati e alle risorse del progetto.
  3. Configura i file di risorse (CR) personalizzate IstioOperator richiesti con le informazioni sul progetto e sul cluster per abilitare le funzionalità predefinite.
  4. Chiama il numero istioctl install. Puoi specificare altri file RP IstioOperator quando chiami install_asm per abilitare le funzionalità facoltative

Passaggi successivi