Riferimento asmcli

Panoramica

asmcli è uno strumento fornito da Google che puoi utilizzare per installare o aggiornare Cloud Service Mesh. Se lo consenti, asmcli configurerà il progetto e il cluster nel seguente modo:

  • Concederti le autorizzazioni IAM (Identity and Access Management) richieste per il tuo progettoGoogle Cloud .
  • Abilita le API di Google richieste nel tuo progetto Google Cloud .
  • Imposta un'etichetta sul cluster che identifichi il mesh.
  • Crea un account di servizio che consenta ai componenti del data plane, ad esempio 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 saperne di più sulle opzioni e sui flag di asmcli, consulta la documentazione di riferimento di asmcli.

Successivamente, asmcli configura i file YAML con le informazioni sul progetto e sul cluster. Questi file di configurazione sono necessari per installare il control plane di Cloud Service Mesh.

Se non hai mai utilizzato Cloud Service Mesh e Istio, vai direttamente a Piattaforme supportate. La sezione successiva ha lo scopo di aiutare gli utenti di Cloud Service Mesh esistenti a eseguire l'upgrade a 1.26.

Transizione a asmcli

asmcli sostituisce istioctl install e install_asm. Anche se puoi ancora utilizzare gli strumenti legacy 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 della flotta.

Transizione da install_asm

Se hai familiarità con install_asm, asmcli è simile, ma con le seguenti differenze notevoli:

  • Utilizzi asmcli install per nuove installazioni e upgrade. Non esiste un'opzione --mode come con install_asm. Quando esegui asmcli install, viene verificato se esiste un control plane nel cluster. Se non esiste un control plane, asmcli installa 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):

  • La maggior parte delle asmcli opzioni e dei flag si comporta allo stesso modo di quelli per install_asm.

Transizione da istioctl install

Se hai familiarità con istioctl install, se di solito passi un file YAML IstioOperator tramite l'argomento della riga di comando -f per configurare il control plane, puoi passare il file a asmcli utilizzando l'opzione --custom_overlay. Nella documentazione di Cloud Service Mesh, questi file sono chiamati file di overlay.

Piattaforme supportate

Le installazioni di Cloud Service Mesh nell'elenco delle piattaforme supportate possono essere configurate o aggiornate da asmcli.

Tuttavia, non tutte le funzionalità sono disponibili sulle piattaforme al di fuori di Google Cloud. Per maggiori dettagli, vedi Funzionalità supportate del control plane in-cluster.

asmcli riferimento

Questa sezione descrive gli argomenti disponibili per asmcli.

Opzioni

Identifica il cluster Per identificare il cluster, hai a disposizione le seguenti opzioni:

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 reciproca. Specifica mesh_ca per utilizzare l'autorità di certificazione Cloud Service Mesh (autorità di certificazione Cloud Service Mesh), gcp_cas per utilizzare Certificate Authority Service o citadel per utilizzare l'autorità di certificazione Istio. Managed Cloud Service Mesh non supporta l'autorità di certificazione Istio. Per ulteriori informazioni, consulta le seguenti risorse:

--channel CLOUD_SERVICE_MESH_CHANNEL

Utilizza --channel con un canale di rilascio di Cloud Service Mesh specifico per eseguire il provisioning della revisione del control plane associata a quel canale di rilascio. Ad esempio, --channel rapid, --channel regular e --channel stable. Questo flag è necessario quando configuri determinate funzionalità di Cloud Service Mesh sui cluster GKE Autopilot.

L'opzione --channel non è più supportata per Managed Cloud Service Mesh, 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 Managed Cloud Service Mesh.

--co|--custom_overlay OVERLAY_FILE
Utilizza --custom_overly con il nome di un file YAML (denominato file di overlay) contenente la risorsa personalizzata IstioOperator per configurare il control plane nel cluster. Specifichi un file di overlay per attivare una funzionalità che non è attivata per impostazione predefinita. Cloud Service Mesh gestito non supporta l'API IstioOperator, quindi non puoi utilizzare --custom_overlay per configurare il control plane gestito. asmcli deve essere in grado di individuare il file di sovrapposizione, quindi deve trovarsi nella stessa directory di asmcli oppure puoi specificare un percorso relativo. Per aggiungere più file, specifica --co|--custom_overlay e 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-flags per registrare il cluster nel parco risorse se non è già registrato.
-k|--key_file FILE_PATH
Il file della chiave per un account di servizio. Ometti questa opzione se non utilizzi un service account.
--network_id NETWORK_ID
Utilizza --network_id per impostare l'etichetta topology.istio.io/network applicata allo spazio dei nomi istio-system. Per GKE, --network_id corrisponde per impostazione predefinita al nome di rete del cluster. Per gli altri ambienti, verrà utilizzato default.
-o|--option OVERLAY_FILE

Il nome del file di overlay (senza l'estensione .yaml) che asmcli scarica dal repository anthos-service-mesh per attivare una funzionalità facoltativa. Per usare --option è necessaria una connessione a internet. Le opzioni --option e --custom_overlay sono simili, ma hanno un comportamento leggermente diverso:

  • Utilizza --custom_overlay quando devi modificare le impostazioni nel file di overlay.

  • Utilizza --option per attivare una funzionalità che non richiede modifiche al file di overlay, ad esempio per configurare i criteri di audit per i tuoi servizi.

Per aggiungere più file, specifica -o|--option e il nome del file, ad esempio: -o option_file1 -o option_file2 -o option_file3

-D|--output_dir DIR_PATH

Se non specificato, asmcli crea una directory temporanea in cui scarica i file e le configurazioni necessari per installare Cloud Service Mesh. Specifica il flag --output-dir per specificare un percorso relativo a una directory da utilizzare in alternativa. Al termine, la directory specificata contiene le sottodirectory asm e istio-1.26.7-asm.1. La directory asm contiene la configurazione per l'installazione. La directory istio-1.26.7-asm.1 contiene i contenuti estratti del file di installazione, che contiene istioctl, esempi e manifest. Se specifichi --output-dir e la directory contiene già i file necessari, asmcli utilizza questi file anziché scaricarli di nuovo.

--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, utilizza multicloud.

-r|--revision_name REVISION NAME

Un'etichetta di revisione è una coppia chiave-valore impostata sul control plane. La chiave dell'etichetta di revisione è sempre istio.io/rev. Per impostazione predefinita, asmcli imposta il valore dell'etichetta di revisione in base alla versione di Cloud Service Mesh, ad esempio: asm-1267-1. Includi questa opzione se vuoi ignorare il valore predefinito e specificarne uno personalizzato. L'argomento REVISION NAME deve essere un'etichetta DNS-1035. Ciò significa che il nome deve:

  • contenere al massimo 63 caratteri
  • contenere solo caratteri alfanumerici minuscoli o '-'
  • iniziare con un carattere alfabetico
  • terminare con un carattere alfanumerico

L'espressione regolare 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 specificato, viene utilizzato l'account utente attivo nella configurazione gcloud corrente. Se devi modificare l'account utente attivo, esegui gcloud auth login.

Opzioni per il certificato personalizzato 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 del certificato intermedio
  • --root_cert FILE_PATH: il certificato radice
  • --cert_chain FILE_PATH: la catena di certificati

Per saperne di più, consulta Inserimento di certificati CA esistenti.

Flag di abilitazione

I flag che iniziano con --enable consentono a asmcli di abilitare 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 autonomamente prima di eseguire asmcli. Tutti i flag di attivazione non sono compatibili con asmcli validate. Se specifichi un flag di attivazione quando esegui asmcli validate, il comando termina con un errore.

-e|--enable_all
Consenti a asmcli di eseguire tutte le singole azioni di attivazione descritte di seguito.
--enable_cluster_roles
Consenti a asmcli di tentare di associare l'utente o il service account che esegue asmcli al ruolo cluster-admin sul tuo cluster. Google Cloud asmcli determina l'account utente dal comando gcloud config get core/account. Se esegui asmcli localmente con un account utente, assicurati di chiamare il comando gcloud auth login prima di eseguire asmcli. Se devi modificare l'account utente, esegui il comando gcloud config set core/account GCP_EMAIL_ADDRESS dove GCP_EMAIL_ADDRESS è l'account che utilizzi per accedere a Google Cloud.
--enable_cluster_labels
Consenti a asmcli di impostare le etichette del cluster richieste.
--enable_gcp_components

Consenti a asmcli di abilitare i seguenti servizi e componenti gestiti da Google Cloud richiesti:

  • Workload Identity, che consente alle applicazioni GKE di accedere in modo sicuro ai servizi Google Cloud.

  • Cloud Monitoring e Cloud Logging su GKE.

  • Attiva la funzionalità Cloud Service Mesh nel progetto del parco risorse. Obbligatorio da asmcli 1.25+ per il provisioning del controller del servizio di canonicalizzazione gestito.

--enable_gcp_apis

Consenti a asmcli di abilitare tutte le API Google richieste.

--enable_gcp_iam_roles

Consenti a asmcli di impostare le autorizzazioni IAM richieste.

--enable_meshconfig_init

Consenti allo script di inizializzare l'endpoint meshconfig per tuo conto. Implicito da --enable_gcp_components e --managed.

--enable_namespace_creation

Consenti a asmcli di creare lo spazio dei nomi istio-system radice.

--enable_registration

Consenti a asmcli di registrare il cluster nel progetto in cui si trova. Se non includi questo flag, segui i passaggi descritti in Registrazione di un cluster per registrare manualmente il cluster. Tieni presente che, a differenza degli altri flag di attivazione, --enable_registration è incluso in --enable_all solo 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 l'ID progetto del cluster. Puoi eseguire asmcli install insieme a --fleet_id prima dell'installazione o come parte dell'installazione passando i flag --enable-registration e --fleet-id. Questa impostazione non può essere modificata dopo la configurazione.
--managed
Deprecato. Esegui il provisioning di un control plane gestito 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 verrà chiuso con errore.
--only_enable
Esegue 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. asmcli termina con un errore se specifichi --only_validate con qualsiasi flag di attivazione.
--print_config
Anziché installare Cloud Service Mesh, stampa tutto il file YAML compilato nell'output standard (stdout). Tutti gli altri output vengono scritti nell'errore standard (stderr), anche se normalmente andrebbero in stdout. asmcli salta tutte le convalide e la configurazione quando specifichi questo flag.
--disable_canonical_service
Deprecato. Il controller del servizio di canonicalizzazione gestito viene sempre sottoposto a provisioning.
-h|--help
Mostra un messaggio di aiuto che descrive le opzioni e i flag ed esce.
--use_managed_cni
Utilizza CNI gestito. Se questo flag non viene passato, asmcli applicherà 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 di asmcli, viene stampato il comando che verrà eseguito successivamente. Con il flag --verbose, asmcli stampa il comando anche dopo l'esecuzione.
--version
Stampa la versione di asmcli ed esci. Se non hai l'ultima versione, puoi scaricare l'ultima versione di asmcli_1.26.