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. Abilita Cloud Monitoring e Cloud Logging su GKE:

    gcloud container clusters update CLUSTER_NAME \
        --project=PROJECT_ID \
        --enable-stackdriver-kubernetes
    

Passaggi successivi

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. Configura i file di risorse (CR) personalizzate IstioOperator richiesti con le informazioni sul progetto e sul cluster per abilitare le funzionalità predefinite.
  3. Chiama il numero istioctl install. Puoi specificare altri file RP IstioOperator quando chiami install_asm per abilitare le funzionalità facoltative