Riferimento asmcli
Panoramica
asmcli è uno strumento fornito da Google che puoi utilizzare per installare o eseguire l'upgrade di Cloud Service Mesh. Se lo consenti, asmcli configurerà il progetto e il cluster nel seguente modo:
- Concedi le autorizzazioni IAM (Identity and Access Management) necessarie nel tuo Google Cloud progetto.
- Abilita le API Google richieste nel tuo Google Cloud progetto.
- Imposta un'etichetta sul cluster che identifichi il mesh.
- Crea un account di servizio che consenta ai componenti del piano dati, come il proxy sidecar, di accedere in modo sicuro ai dati e alle risorse del tuo progetto.
- Registra il cluster nel parco risorse, se non è già registrato.
Basta includere il flag --enable_all quando esegui asmcli per consentire la configurazione
del progetto e del cluster. Per ulteriori informazioni sulle opzioni e sui flag asmcli, consulta la documentazione di riferimento di asmcli.
Successivamente, asmcli configura i file YAML con le informazioni del progetto e del cluster.
Questi file di configurazione sono necessari per installare il control plane di Cloud Service Mesh.
Se non hai dimestichezza con Cloud Service Mesh e Istio, vai a Piattaforme supportate. La sezione successiva è intesa per aiutare a eseguire l'upgrade a 1.26di Cloud Service Mesh esistente.
Transizione a asmcli
asmcli sostituisce istioctl install e install_asm. Anche se
puoi ancora utilizzare gli strumenti precedenti in Cloud Service Mesh 1.11, li stiamo ritirando
e non saranno più supportati in Cloud Service Mesh 1.12 e versioni successive.
Aggiorna gli script e gli strumenti per utilizzare asmcli.
Tutti i cluster devono essere registrati in un parco risorse. Per maggiori dettagli, consulta i Requisiti del parco veicoli.
Transizione da install_asm
Se conosci install_asm, asmcli è simile, ma presenta le seguenti differenze sostanziali:
Utilizzi
asmcli installper nuove installazioni e upgrade. Non esiste un'opzione--modecome perinstall_asm. Quando eseguiasmcli install, viene controllato se sul cluster è già presente un control plane. Se non esiste un control plane,asmcliinstalla Cloud Service Mesh. Se il cluster ha un piano di controllo esistente (un piano di controllo Cloud Service Mesh o un piano di controllo Istio open source):Se l'etichetta di revisione sul control plane esistente non corrisponde a quella del nuovo control plane,
asmcliesegue un upgrade canary.Se le etichette delle revisioni del control plane sono uguali,
asmcliesegue un upgrade in situ.
La maggior parte delle opzioni e dei flag di
asmclisi comporta come quelle diinstall_asm.
Transizione da istioctl install
Se hai dimestichezza con istioctl install e di solito passi un
IstioOperator file YAML tramite l'argomento della riga di comando -f per configurare il
piano di controllo, puoi passare il file a asmcli utilizzando l'opzione --custom_overlay. Nella documentazione di Cloud Service Mesh, ci riferiamo a questi file come
file overlay.
Piattaforme supportate
Le installazioni di Cloud Service Mesh nell'elenco delle piattaforme supportate possono essere configurate o sottoposte ad upgrade entro il giorno asmcli.
Tuttavia, non tutte le funzionalità sono disponibili sulle piattaforme diverse da Google Cloud. Per maggiori dettagli, consulta Funzionalità supportate dal control plane in cluster.
Riferimento asmcli
Questa sezione descrive gli argomenti disponibili per asmcli.
Opzioni
Identifica il cluster Hai a disposizione le seguenti opzioni per identificare il cluster:
Solo GKE
-p|--project_id CLUSTER_PROJECT_ID- L'ID progetto in cui è stato creato il cluster.
-n|--cluster_name CLUSTER_NAME- Il nome del cluster.
-l|--cluster_location CLUSTER_LOCATION- La zona (per i cluster a zona singola) o la regione (per i cluster regionali) in cui è stato creato il cluster.
Tutte le piattaforme
--kubeconfig KUBECONFIG_FILE
Il percorso completo del file kubeconfig. La variabile di ambiente $PWD non funziona qui.
--ctx|--context KUBE_CONTEXT
Il contesto kubeconfig da utilizzare. Se non specificato,
asmcli utilizza il contesto predefinito.
-c|--ca {mesh_ca|gcp_cas|citadel}L'autorità di certificazione (CA) da utilizzare per gestire i certificati TLS reciproci. Specifica
mesh_caper utilizzare l'autorità di certificazione Cloud Service Mesh,gcp_casper utilizzare Certificate Authority Service ocitadelper utilizzare l'autorità di certificazione Istio. Cloud Service Mesh gestito non supporta Istio CA. Per ulteriori informazioni, consulta quanto segue:--channel CLOUD_SERVICE_MESH_CHANNELUtilizza
--channelcon un canale di rilascio Cloud Service Mesh specifico per eseguire il provisioning della revisione del piano di controllo associata a quel canale di rilascio. Ad esempio,--channel rapid,--channel regulare--channel stable. Questo flag è obbligatorio per la configurazione di determinate funzionalità di Cloud Service Mesh sui cluster GKE Autopilot.
L'opzione --channel non è più supportata per Cloud Service Mesh gestito come indicato nelle note di rilascio di CSM.
Il canale di rilascio viene determinato in base al canale di rilascio del cluster GKE.
Per saperne di più, consulta Canali di rilascio di Cloud Service Mesh gestito.
--co|--custom_overlay OVERLAY_FILE- Utilizza
--custom_overlycon il nome di un file YAML (chiamato file overlay) contenente la risorsa personalizzataIstioOperatorper configurare il piano di controllo in cluster. Specifichi un file overlay per attivare una funzionalità che non è attiva per impostazione predefinita. Cloud Service Mesh gestito non supporta l'APIIstioOperator, pertanto non puoi utilizzare--custom_overlayper configurare il control plane gestito.asmclideve essere in grado di individuare il file overlay, quindi deve trovarsi nella stessa directory diasmclio puoi specificare un percorso relativo. Per aggiungere più file, specifica--co|--custom_overlaye il nome del file, ad esempio:--co overlay_file1.yaml --co overlay_file2.yaml --co overlay_file3.yaml --hub-registration-extra-flags HUB_REGISTRATION_EXTRA_FLAGS- Se utilizzi cluster Amazon EKS collegati, utilizza
--hub-registration-extra-flagsper registrarli nel parco risorse, se non sono già registrati. -k|--key_file FILE_PATH- Il file della chiave di un account di servizio. Ometti questa opzione se non utilizzi un account di servizio.
--network_id NETWORK_ID- Utilizza
--network_idper impostare l'etichettatopology.istio.io/networkapplicata allo spazio dei nomiistio-system. Per GKE, il valore predefinito di--network_idè il nome della rete del cluster. Per gli altri ambienti, verrà utilizzatodefault. -o|--option OVERLAY_FILEIl nome del file overlay (senza l'estensione
.yaml) cheasmcliscarica dal repositoryanthos-service-meshper attivare una funzionalità facoltativa. Per utilizzare--optionè necessaria una connessione a internet. Le opzioni--optione--custom_overlaysono simili, ma hanno un comportamento leggermente diverso:Utilizza
--custom_overlayquando devi modificare le impostazioni nel file overlay.Utilizza
--optionper attivare una funzionalità che non richiede modifiche al file overlay, ad esempio per configurare i criteri di audit per i tuoi servizi.
Per aggiungere più file, specifica
-o|--optione il nome del file, ad esempio:-o option_file1 -o option_file2 -o option_file3-D|--output_dir DIR_PATHSe non specificato,
asmclicrea una directory temporanea in cui scarica i file e le configurazioni necessarie per l'installazione di Cloud Service Mesh. Specifica il flag--output-dirper specificare un percorso relativo a una directory da utilizzare al suo posto. Al termine, la directory specificata contiene le sottodirectoryasmeistio-1.26.4-asm.7. La directoryasmcontiene la configurazione per l'installazione. La directoryistio-1.26.4-asm.7contiene i contenuti estratti del file di installazione, che contieneistioctl, Samples e manifest. Se specifichi--output-dire la directory contiene già i file necessari,--output-dirli utilizza anziché scaricarli di nuovo.asmcli--platform PLATFORM {gcp|multicloud}La piattaforma o il provider del cluster Kubernetes. Il valore predefinito è
gcp(per i cluster GKE). Per tutte le altre piattaforme,multicloud.-r|--revision_name REVISION NAMEUn'etichetta di revisione è una coppia chiave-valore impostata sul piano di controllo. La chiave dell'etichetta di revisione è sempre
istio.io/rev. Per impostazione predefinita,asmcliimposta il valore per l'etichetta della revisione in base alla versione di Cloud Service Mesh, ad esempioasm-1264-7. Includi questa opzione se vuoi sostituire il valore predefinito e specificarne uno personalizzato. L'argomentoREVISION NAMEdeve essere una etichetta DNS-1035. Ciò significa che il nome deve:- Deve contenere massimo 63 caratteri
- Deve contenere solo caratteri alfanumerici minuscoli o il trattino "-".
- Deve iniziare con un carattere alfabetico
- Deve terminare con un carattere alfanumerico
La regex utilizzata per la convalida è: '[a-z]([-a-z0-9]*[a-z0-9])?'
-s|--service_account ACCOUNT- Il nome di un account di servizio utilizzato per installare Cloud Service Mesh. Se non viene specificato, viene utilizzato l'account utente attivo nella configurazione
gcloudcorrente. Se devi modificare l'account utente attivo, esegui gcloud auth login.
Opzioni per il certificato personalizzato della CA Istio
Se hai specificato --ca citadel e utilizzi una CA personalizzata, includi le seguenti opzioni:
--ca_cert FILE_PATH: il certificato intermedio--ca_key FILE_PATH: la chiave per il certificato intermedio--root_cert FILE_PATH: il certificato radice--cert_chain FILE_PATH: la catena di certificati
Per ulteriori informazioni, consulta Collegare certificati CA esistenti.
Flag di abilitazione
I flag che iniziano con --enable consentono a asmcli di attivare le API Google richieste, impostare le autorizzazioni IAM (Identity and Access Management) richieste e aggiornare il cluster. Se preferisci, puoi
aggiornare il progetto e il cluster
prima di eseguire asmcli. Tutti gli indicatori di attivazione non sono compatibili con
asmcli validate. Se specifichi un flag di abilitazione quando esegui asmcli validate, il comando termina con un errore.
-e|--enable_all- Consenti a
asmclidi eseguire tutte le singole azioni di attivazione descritte di seguito. --enable_cluster_roles- Consenti a
asmclidi tentare di associare l' Google Cloud account utente o di servizio che esegueasmclial ruolocluster-adminnel tuo cluster.asmclidetermina l'account utente dal comandogcloud config get core/account. Se eseguiasmclilocalmente con un account utente, assicurati di chiamare il comandogcloud auth loginprima di eseguireasmcli. Se devi modificare l'account utente, esegui il comandogcloud config set core/account GCP_EMAIL_ADDRESSdove GCP_EMAIL_ADDRESS è l'account che utilizzi per accedere a Google Cloud. --enable_cluster_labels- Consenti a
asmclidi impostare le etichette dei cluster richieste. --enable_gcp_componentsConsenti a
asmclidi attivare i seguenti componenti e servizi Google Cloud gestiti obbligatori:Workload Identity, che consente alle applicazioni GKE di accedere in sicurezza ai servizi Google Cloud.
--enable_gcp_apisConsenti a
asmclidi abilitare tutte le API Google richieste.--enable_gcp_iam_rolesConsenti a
asmclidi impostare le autorizzazioni IAM richieste.--enable_meshconfig_initConsenti allo script di inizializzare l'endpoint meshconfig per tuo conto. Sottinteso da
--enable_gcp_componentse--managed.--enable_namespace_creationConsenti a
asmclidi creare lo spazio dei nomiistio-systemprincipale.--enable_registrationConsenti a
asmclidi registrare il cluster nel progetto in cui si trova. Se non includi questo flag, segui la procedura descritta in Registrazione di un cluster per registrare manualmente il cluster. Tieni presente che, a differenza degli altri flag di abilitazione,--enable_registrationè incluso in--enable_allsolo quando specifichi un'opzione (ad esempio--option hub-meshca) che richiede la registrazione del cluster. In caso contrario, devi specificare questo flag separatamente.
Altri flag
--dry_run- Stampa i comandi, ma non eseguirli.
--fleet_id- Registra un cluster in un parco risorse utilizzando l'ID progetto host del parco risorse. Questo flag è obbligatorio per i cluster nonGoogle Cloud . Se non viene fornito per i clusterGoogle Cloud , viene utilizzato per impostazione predefinita l'ID progetto del cluster. Puoi eseguire
asmcli installinsieme a--fleet_idprima dell'installazione o come parte dell'installazione passando i flag--enable-registratione--fleet-id. Questa impostazione non può essere modificata dopo la configurazione. --managed- Ritirata. Esegui il provisioning di un piano di controllo gestito e remoto anziché installarne uno in-cluster.
--offline- Esegui un'installazione offline utilizzando il pacchetto pre-scaricato nella directory di output. Se la directory non è specificata o non contiene i file richiesti, lo script uscirà con un errore.
--only_enable- Esegui i passaggi specificati per configurare l'utente/il cluster corrente, ma non installa nulla.
--only_validate- Esegui la convalida, ma non aggiornare il progetto o il cluster e non installare Cloud Service Mesh. Questo flag non è compatibile con i
flag di attivazione.
asmclitermina con un errore se specifichi--only_validatecon un flag di attivazione. --print_config- Anche se non installi Cloud Service Mesh, stampa tutto il codice YAML compilato nell'output standard (stdout). Tutto l'altro output viene scritto nell'errore standard
(stderr), anche se normalmente andrebbe in stdout.
asmcliignora tutte le verifiche e la configurazione quando specifichi questo flag. --disable_canonical_service- Ritirata. Il provisioning del controller del servizio di canonicalizzazione gestito viene sempre eseguito.
-h|--help- Mostra un messaggio di aiuto che descrive le opzioni e i flag ed esce.
--use_managed_cni- Utilizza il CNI gestito. Se questo flag non viene passato,
asmcliapplicherà i manifest CNI statici. --use_vpcsc- Se la tua organizzazione applica i Controlli di servizio VPC per il tuo progetto, devi configurare Cloud Service Mesh gestito con il flag
--use_vpcsc. In caso contrario, l'installazione non supererà i controlli di sicurezza. -v|--verbose
Durante l'esecuzione, - stampa il comando che verrà eseguito successivamente.
asmcliCon il--verboseflag,asmclistampa il comando anche dopo l'esecuzione. --version- Stampa la versione di
asmclied esci. Se non hai la versione più recente, puoi scaricarla.asmcli_1.26