Installa gli strumenti dipendenti e verifica il cluster
Questa pagina mostra come preparare l'ambiente e il cluster per installare Cloud Service Mesh in-cluster per i carichi di lavoro Kubernetes off Google Cloud.
Installare gli strumenti richiesti
Puoi eseguire asmcli su Cloud Shell
o sulla tua macchina locale con Linux. Cloud Shell preinstalla tutti gli strumenti necessari.
Se esegui asmcli localmente, assicurati di aver installato i seguenti strumenti:
- Google Cloud CLI
- Gli strumenti a riga di comando standard:
awk,curl,grep,sedetr gitkubectljq- (Facoltativo, per testare la connettività) Netcat (
nc)
Configura gcloud
Svolgi i seguenti passaggi anche se utilizzi Cloud Shell.
Autenticati con Google Cloud CLI:
gcloud auth login --project PROJECT_IDAggiorna i componenti:
gcloud components update
Imposta il contesto corrente sul cluster utente:
Imposta il contesto kubectl in modo che punti al cluster off-Google Cloud , in base
alle istruzioni specifiche della piattaforma.
Scaricare asmcli
Questa sezione descrive come scaricare asmcli.
Scarica la versione che installa Cloud Service Mesh 1.26.4 nella directory di lavoro attuale:
curl https://storage.googleapis.com/csm-artifacts/asm/asmcli_1.26 > asmcliOutput previsto:
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 167k 100 167k 0 0 701k 0 --:--:-- --:--:-- --:--:-- 701kRendi eseguibile lo script:
chmod +x asmcli
Concedi le autorizzazioni di amministratore del cluster
Assicurati di aver impostato il contesto sul cluster utente:
kubectl config use-context CONTEXT
Concedi le autorizzazioni di amministratore del cluster al tuo account utente (il tuo indirizzo email di accesso Google Cloud ). Hai bisogno di queste autorizzazioni per creare le regole di controllo controllo dell'accesso basato sui ruoli (RBAC) necessarie per Cloud Service Mesh:
kubectl create clusterrolebinding cluster-admin-binding \ --clusterrole=cluster-admin \ --user=USER_ACCOUNT
Convalida del progetto e del 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 apportare modifiche al progetto o al cluster e non installare
Cloud Service Mesh.
asmcli verifica che:
Il tuo ambiente dispone degli strumenti richiesti.
Il cluster soddisfa i requisiti minimi.
Disponi delle autorizzazioni necessarie per il progetto specificato.
Il progetto ha tutte le API Google richieste abilitate.
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 restituisce 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
ti consente di utilizzare lo strumento a riga di comando istioctl. Potresti aver bisogno di istioctl per
risolvere i problemi di configurazione.
Inoltre, i file di configurazione per attivare le funzionalità facoltative utilizzando asmcli
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.
Utilizza il seguente comando per eseguire asmcli validate sulle seguenti piattaforme:
Google Distributed Cloud (solo software) per VMware, Google Distributed Cloud (solo software) per bare metal, GKE su AWS (ritirato),
GKE su Azure (ritirato), Amazon EKS (ritirato) e Microsoft AKS (ritirato).
Imposta il contesto corrente sul cluster utente:
kubectl config use-context CLUSTER_NAMEEsegui questo comando per convalidare la configurazione e scaricare il file di installazione e il pacchetto
asmnella directoryOUTPUT_DIR:./asmcli validate \ --kubeconfig KUBECONFIG_FILE \ --fleet_id FLEET_PROJECT_ID \ --output_dir DIR_PATH \ --platform multicloud--kubeconfigIl percorso delkubeconfigPuoi specificare un percorso relativo o un percorso completo. La variabile di ambiente$PWDnon funziona qui.--fleet_idL'ID progetto del progetto host del parco risorse.asmcli validateverifica che il cluster sia registrato nel parco risorse specificato.--output_dirIncludi questa opzione per specificare una directory in cuiasmcliscarica il pacchettoasmed estrae il file di installazione, che contieneistioctl, esempi e manifest. In caso contrario,asmcliscarica i file in una directorytmp. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente$PWDnon funziona qui.--platform multicloudSpecifica che la piattaforma è qualcosa di diverso 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 nel tuo progetto non sono abilitate tutte le API Google richieste, 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 le seguenti opzioni:
Includi il flag specifico del messaggio di errore o il flag
--enable_allquando eseguiasmcliper eseguire l'installazione effettiva.Se preferisci, puoi aggiornare il progetto e il cluster autonomamente prima di eseguire
asmclicome descritto in Configurazione del progetto e del cluster GKE in autonomia.
Tieni presente che asmcli validate non consente flag di attivazione perché verifica solo
che il progetto e il cluster siano pronti per l'installazione.
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 Cloud Service Mesh.
Passa alla directory specificata in
--output_dir.Esegui questo comando per esaminare il cluster Kubernetes per i requisiti di installazione e upgrade. Assicurati di utilizzare la versione di
istioctldistribuita con la nuova versione di Cloud Service Mesh.istioctl experimental precheck