Installa gli strumenti dipendenti e verifica il cluster

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

Installa gli strumenti necessari

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

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

  • Google Cloud CLI
  • Gli strumenti a riga di comando standard: awk, curl, grep, sed e tr
  • git
  • kubectl
  • jq
  • (Facoltativo, per testare la connettività) netcat (nc)

Configura gcloud

Esegui i seguenti passaggi 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 installi Cloud Service Mesh su un cluster GKE, configurare kubectl in modo che punti al cluster.

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

Scarica asmcli

Questa sezione descrive come scaricare asmcli.

  1. Scarica la versione che installa Cloud Service Mesh 1.23.3 nella directory di lavoro corrente:

    curl https://storage.googleapis.com/csm-artifacts/asm/asmcli_1.23 > asmcli
    

    Output previsto:

    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
    100  167k  100  167k    0     0   701k      0 --:--:-- --:--:-- --:--:--  701k
    
  2. Rendi eseguibile lo script:

    chmod +x asmcli
    

Concedi le autorizzazioni di amministratore del cluster

  1. Assicurati di aver impostato il contesto per il tuo cluster utente:

    kubectl config use-context CONTEXT
  2. Concedi le autorizzazioni di amministratore del cluster al tuo account utente (le tue credenziali di accesso a Google Cloud) ). Per creare le regole necessarie per il controllo degli accessi basato su ruoli (RBAC) di Cloud Service Mesh, devi disporre di queste autorizzazioni:

    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 Cloud Service Mesh. Con questa opzione, asmcli non modifiche al progetto o al cluster e l'app non installa Cloud Service Mesh.

asmcli conferma che:

Per impostazione predefinita, asmcli scarica ed estrae il file di installazione e scarica il pacchetto di configurazione asm da GitHub in una directory temporanea. Prima di uscire, asmcli stampa 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. --output_dir semplifica l'uso dello strumento a riga di comando istioctl. Potresti dover utilizzare istioctl per la risoluzione dei problemi di configurazione o per la configurazione di un mesh multi-cluster su cluster GKE privati. Inoltre, i file di configurazione attivare le funzionalità facoltative che utilizzano asmcli sono incluse nella directory asm/istio/options.

Esegui il seguente 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 \
  --fleet_id FLEET_PROJECT_ID \
  --output_dir DIR_PATH
  • --project_id, --cluster_name e --cluster_location Specifica il campo l'ID progetto in cui si trova il cluster, il nome del cluster e nella zona o nella regione del cluster.

  • --fleet_id L'ID del progetto host del parco risorse. asmcli validate controlla che il cluster sia registrato nell'istanza specificata parco risorse.

  • --output_dir Includi questa opzione per specificare una directory dove asmcli scarica il pacchetto asm ed estrae il file di installazione, che contiene istioctl, i sample e i 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 qui.

Al di fuori di Google Cloud

Utilizza questo comando per eseguire asmcli validate sulle seguenti piattaforme: Google Distributed Cloud, Google Distributed Cloud, GKE su AWS Amazon EKS e Microsoft AKS.

  1. Imposta il contesto corrente sul cluster di utenti:

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

    ./asmcli validate \
      --kubeconfig KUBECONFIG_FILE \
      --fleet_id FLEET_PROJECT_ID \
      --output_dir DIR_PATH \
      --platform multicloud
    
    • --kubeconfig Il percorso del file kubeconfig Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente $PWD non funziona qui.

    • --fleet_id L'ID del progetto progetto host del parco risorse. asmcli validate verifica che il cluster sia registrato nel parco risorse specificato.

    • --output_dir Includi questa opzione per specificare una directory dove asmcli scarica il pacchetto asm ed estrae file di installazione contenente istioctl, esempi e manifest. In caso contrario, asmcli scarica i file in una directory tmp. Puoi specificare un percorso relativo o un percorso completo. Ambiente la variabile $PWD non funziona qui.

    • --platform multicloud Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.

In caso di esito positivo, asmcli 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, asmcli restituisce un messaggio di errore. Ad esempio, se il progetto non include tutte le API di Google richieste attiva, viene visualizzato il seguente errore:

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

Se hai ricevuto un messaggio di errore che ti informa che devi eseguire asmcli con un flag di attivazione, hai a disposizione le seguenti opzioni:

  • Includi il flag specifico del messaggio di errore o il flag --enable_all quando esegui asmcli per eseguire l'installazione effettiva.

  • Se preferisci, puoi aggiornare il progetto e il cluster autonomamente prima in esecuzione su asmcli come descritto in Configura autonomamente il progetto e il cluster GKE.

Tieni presente che asmcli validate non consente flag di abilitazione perché usa solo verifica che il progetto e il cluster siano pronti per l'installazione.

Ispeziona i requisiti di installazione e upgrade del cluster

Prima di eseguire l'upgrade, verifica che la configurazione sia compatibile con la nuova versione di Cloud Service Mesh.

  1. Passa alla directory specificata in --output_dir.

  2. Esegui questo comando per ispezionare il cluster Kubernetes per l'installazione requisiti di upgrade. Assicurati di utilizzare la versione di istioctl distribuita con la nuova versione di Cloud Service Mesh.

    istioctl experimental precheck
    

Passaggi successivi