Inizia

Questa pagina mostra come preparare l'ambiente e il cluster per l'installazione di Anthos Service Mesh

Installa gli strumenti richiesti

Puoi eseguire asmcli su Cloud Shell o sulla tua macchina locale che esegue Linux. Cloud Shell preinstalla tutti gli strumenti necessari.

Se esegui asmcli in locale, assicurati di avere installato i seguenti strumenti:

Configura gcloud

Esegui i passaggi seguenti anche se utilizzi Cloud Shell.

  1. Esegui l'autenticazione con Google Cloud CLI:

    gcloud auth login --project PROJECT_ID
    
  2. Aggiorna i componenti:

    gcloud components update
    
  3. Se stai installando Anthos Service Mesh su un cluster GKE, configura kubectl in modo che punti al cluster.

    gcloud container clusters get-credentials CLUSTER_NAME \
         --zone CLUSTER_LOCATION \
         --project PROJECT_ID
    

Scarica asmcli

In questa sezione viene descritto come scaricare asmcli.

  1. Scarica la versione che installa Anthos Service Mesh 1.10.6 nella directory di lavoro attuale:

    curl https://storage.googleapis.com/csm-artifacts/asm/asmcli_alpha > asmcli
    
  2. Rendi eseguibile lo script:

    chmod +x asmcli
    

Concedi le autorizzazioni di amministratore del cluster

  1. Cambia il contesto nel tuo cluster utente:

    kubectl config use-context CLUSTER_NAME
  2. Concedi le autorizzazioni di amministratore del cluster al tuo account utente (l'indirizzo email di accesso a Google Cloud). Devi disporre di queste autorizzazioni per creare le regole di controllo dell'controllo dell'accesso basato sui ruoli (RBAC) necessarie per Anthos Service Mesh:

    kubectl create clusterrolebinding cluster-admin-binding \
      --clusterrole=cluster-admin \
      --user=USER_ACCOUNT

Convalida progetto e cluster

Puoi eseguire asmcli validate per assicurarti che il progetto e il cluster siano configurati come richiesto per installare Anthos Service Mesh. Con questa opzione, asmcli non apporta modifiche al progetto o al cluster e non installa Anthos Service Mesh.

Lo script verifica che:

Per impostazione predefinita, lo script scarica ed estrae il file di installazione e scarica il pacchetto di configurazione asm da GitHub a una directory temporanea. Prima di uscire, lo script genera un messaggio che fornisce il nome della directory temporanea. Ti consigliamo di specificare una directory per i download con l'opzione --output_dir DIR_PATH. L'opzione --output_dir semplifica l'utilizzo dello strumento a riga di comando istioctl, se necessario. Inoltre, i file di configurazione per abilitare le funzionalità facoltative sono inclusi nella directory asm/istio/options.

Esegui questo comando per convalidare la configurazione e scaricare il file di installazione e il pacchetto asm nella directory OUTPUT_DIR.

GKE

./asmcli validate \
  --project_id PROJECT_ID \
  --cluster_name CLUSTER_NAME \
  --cluster_location CLUSTER_LOCATION \
  --output_dir DIR_PATH
  • --project_id, --cluster_name e --cluster_location Specifica l'ID progetto in cui si trova il cluster, il nome del cluster e la zona o la regione del cluster.

    • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto asm ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.

On-premise

  1. Imposta il contesto attuale per il tuo cluster utente:

    kubectl config use-context CLUSTER_NAME
    
  2. Esegui questo comando per convalidare la configurazione e scaricare il file di installazione e il pacchetto asm nella directory OUTPUT_DIR:

    ./asmcli validate \
      --kubeconfig KUBECONFIG_FILE \
      --output_dir DIR_PATH \
      --platform multicloud
    
    • --kubeconfig Il percorso per kubeconfig Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.

    • --output_dir Includi questa opzione per specificare una directory in cui asmcli scarica il pacchetto asm ed estrae il file di installazione, che contiene istioctl, esempi e file manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona in questo caso.

    • --platform multicloud Specifica che la piattaforma è on-premise.

In caso di esito positivo, lo script restituisce quanto segue:

asmcli: Setting up necessary files...
asmcli: Using asm_kubeconfig as the kubeconfig...
asmcli: Checking installation tool dependencies...
asmcli: Fetching/writing GCP credentials to kubeconfig file...
asmcli: Verifying connectivity (10s)...
asmcli: kubeconfig set to asm_kubeconfig
asmcli: using context gke_example-project-12345_us-central1_cluster-2
asmcli: Getting account information...
asmcli: Downloading ASM..
asmcli: Downloading ASM kpt package...
fetching package "/asm" from "https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages" to "asm"
asmcli: Checking required APIs...
asmcli: Checking for project example-project-12345...
asmcli: Reading labels for us-central1/cluster-2...
asmcli: Checking for istio-system namespace...
asmcli: Confirming node pool requirements for example-project-12345/us-central1/cluster-2...
asmcli: Checking Istio installations...
asmcli: [WARNING]: There is no way to validate that the meshconfig API has been initialized.
asmcli: [WARNING]: This needs to happen once per GCP project. If the API has not been initialized
asmcli: [WARNING]: for example-project-12345, please re-run this tool with the --enable_gcp_components
asmcli: [WARNING]: flag. Otherwise, installation will succeed but Anthos Service Mesh
asmcli: [WARNING]: will not function correctly.
asmcli: Successfully validated all requirements to install ASM.

Se uno dei test non supera la convalida, lo script restituisce un messaggio di errore. Ad esempio, se nel progetto non sono abilitate tutte le API di Google richieste, viene visualizzato il seguente errore:

ERROR: One or more APIs are not enabled. Please enable them and retry, or run
the script with the '--enable_gcp_apis' flag to allow the script to enable them
on your behalf.

Se hai ricevuto un messaggio di errore relativo alla necessità di eseguire lo script con un flag di abilitazione, hai a disposizione le seguenti opzioni:

  • Includi il flag specifico del messaggio di errore o il flag --enable_all quando esegui lo script per eseguire l'installazione effettiva (ovvero, senza --only_validate).

  • Se preferisci, puoi aggiornare il progetto e il cluster prima di eseguire lo script come descritto in Configurazione per l'installazione di Anthos Service Mesh su GKE.

Tieni presente che asmcli non consente flag di abilitazione con --only_validate.

Esaminare i requisiti di installazione e upgrade del cluster

Prima di eseguire l'upgrade, devi verificare che la tua configurazione sia compatibile con la nuova versione di Anthos Service Mesh.

  1. Passa alla directory specificata in --output_dir.

  2. Esegui questo comando per ispezionare il cluster Kubernetes al fine di verificare i requisiti di installazione e upgrade. Assicurati di utilizzare la versione di istioctl distribuita con la nuova versione di Anthos Service Mesh.

    istioctl experimental precheck
    

Che cosa succede dopo?