Installa gli strumenti dipendenti e verifica il cluster
Questa pagina mostra come preparare l'ambiente e il cluster per l'installazione Cloud Service Mesh.
Installa gli strumenti necessari
Puoi eseguire asmcli
su Cloud Shell
o sul computer locale che esegue 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
etr
git
kubectl
jq
- (Facoltativo, per verificare la connettività) netcat (
nc
)
Configura gcloud
Completa i seguenti passaggi anche se utilizzi Cloud Shell.
Esegui l'autenticazione con Google Cloud CLI:
gcloud auth login --project PROJECT_ID
Aggiorna i componenti:
gcloud components update
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
In questa sezione viene descritto come scaricare asmcli
.
Scarica la versione che installa Cloud Service Mesh 1.23.2 su 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
Rendi eseguibile lo script:
chmod +x asmcli
Concedi le autorizzazioni di amministratore del cluster
Assicurati di aver impostato il contesto per il tuo cluster utente:
kubectl config use-context CONTEXT
Concedi le autorizzazioni di amministratore del cluster al tuo account utente (le tue credenziali di accesso a Google Cloud) ). Devi disporre di queste autorizzazioni per creare controllo controllo dell'accesso basato sui ruoli (RBAC) per Cloud 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
configurazione richiesta per l'installazione di 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:
Il tuo ambiente ha strumenti necessari.
Il cluster soddisfa requisiti minimi.
Disponi delle autorizzazioni richieste per il progetto specificato.
Il progetto ha tutti le API di Google richieste in un bucket in cui è abilitato il controllo delle versioni.
Per impostazione predefinita, asmcli
scarica ed estrae il file di installazione ed
scarica il
asm
di configurazione da GitHub a 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
Opzione --output_dir DIR_PATH
. --output_dir
semplifica l'uso dello strumento a riga di comando istioctl
. (tu
potrebbe essere necessario istioctl
per
risoluzione dei problemi di configurazione
o
configurando 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 questo comando per convalidare la configurazione e scaricare
file di installazione e pacchetto asm
nell'app 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 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 doveasmcli
scarica il pacchettoasm
ed estrae file di installazione contenenteistioctl
, esempi e manifest. In caso contrario,asmcli
scarica i file in una directorytmp
. Puoi specificare un percorso relativo o un percorso completo. Ambiente la variabile$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.
Imposta il contesto attuale sul cluster utente:
kubectl config use-context CLUSTER_NAME
Esegui questo comando per convalidare la configurazione e scaricare file di installazione e pacchetto
asm
nell'appOUTPUT_DIR
directory:./asmcli validate \ --kubeconfig KUBECONFIG_FILE \ --fleet_id FLEET_PROJECT_ID \ --output_dir DIR_PATH \ --platform multicloud
--kubeconfig
Il percorso allakubeconfig
Puoi specificare un percorso relativo o un percorso completo. Ambiente la variabile$PWD
non funziona qui.--fleet_id
L'ID del progetto 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 doveasmcli
scarica il pacchettoasm
ed estrae file di installazione contenenteistioctl
, esempi e manifest. In caso contrario,asmcli
scarica i file in una directorytmp
. Puoi specificare un percorso relativo o un percorso completo. Ambiente la variabile$PWD
non funziona qui.--platform multicloud
specifica che la piattaforma è qualcosa diverso da Google Cloud, ad esempio on-premise o multi-cloud.
Se l'operazione riesce, 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 relativo alla necessità di eseguire asmcli
con un
flag di abilitazione,
hai le seguenti opzioni:
Includi il flag specifico del messaggio di errore o l'elemento
--enable_all
durante l'esecuzione diasmcli
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.
Passa alla directory specificata in
--output_dir
.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