riferimento asmcli

Panoramica

asmcli è uno strumento fornito da Google che puoi utilizzare per installare eseguire l'upgrade di Cloud Service Mesh. Se lo consenti, asmcli configurerà progetto e cluster nel modo seguente:

  • Ti concede le autorizzazioni IAM (Gestione di identità e accessi) necessarie per il tuo progetto Google Cloud.
  • Abilita le API 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 piano dati, come il proxy sidecar, di accedere in modo sicuro ai dati e alle risorse del tuo progetto.
  • Registra il cluster al 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 sul tuo progetto e sul tuo 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.21di Cloud Service Mesh esistente.

Transizione a asmcli in corso...

asmcli prende il posto di 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 flotta. 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 install per le nuove installazioni e gli upgrade. Non esiste un Opzione --mode come con install_asm. Quando esegui asmcli install, viene controllato se sul cluster è già presente un control plane. Se non esiste una dal piano di controllo, 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):

  • La maggior parte delle asmcli opzioni e flag si comportano allo stesso modo come quelli di install_asm.

Transizione da istioctl install in corso...

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, utilizziamo questi file come file di overlay.

Piattaforme supportate

Installazioni Cloud Service Mesh nell'elenco delle È possibile configurare le piattaforme supportate o se è stato eseguito l'upgrade da asmcli.

Tuttavia, non tutte le funzionalità sono disponibili sulle piattaforme esterne a Google Cloud. Per maggiori dettagli, vedi Funzionalità supportate dal piano di controllo in-cluster.

Riferimento asmcli

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 a livello di regione cluster) in cui è stato creato il cluster.

Tutte le piattaforme

--kubeconfig KUBECONFIG_FILE Il percorso completo del file kubeconfig. Ambiente la variabile $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_ca per utilizzare l'autorità di certificazione Cloud Service Mesh (autorità di certificazione Cloud Service Mesh), gcp_cas per utilizzare Certificate Authority Service oppure citadel per utilizzare la CA Istio. Cloud Service Mesh gestito non supporta Istio CA. Per ulteriori informazioni, vedi quanto segue:

--channel CLOUD_SERVICE_MESH_CHANNEL

Utilizza --channel con una specifica Canale di rilascio di Cloud Service Mesh per eseguire il provisioning della revisione del piano di controllo associata a quel canale di rilascio. Ad esempio, --channel rapid, --channel regular e --channel stable. Questo flag è obbligatorio durante la configurazione di alcune funzionalità di Cloud Service Mesh su 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 ulteriori informazioni, consulta Canali di rilascio di Managed Cloud Service Mesh.

--co|--custom_overlay OVERLAY_FILE
Utilizza --custom_overly con il nome di un file YAML (chiamato file overlay) contenente la risorsa personalizzata IstioOperator per configurare il piano di controllo in cluster. Specifichi un file overlay per attivare una funzionalità che non è attiva per impostazione predefinita. Managed Cloud Service Mesh non supporta API IstioOperator, quindi non puoi usare --custom_overlay per configurare completamente gestito di Google Cloud. asmcli deve essere in grado di individuare il file overlay, quindi deve trovarsi nella stessa directory di asmcli o 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 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_id per impostare l'etichetta topology.istio.io/network applicata alla istio-system. Per GKE, --network_id è impostato per impostazione predefinita sul nome della 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 da repository anthos-service-mesh per abilitare funzionalità facoltativa. Per utilizzare --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 overlay.

  • Utilizza --option per attivare una funzionalità che non richiede modifiche alla un file di overlay, ad esempio configurare i criteri di controllo per i 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 di una directory da utilizzare . Al termine, la directory specificata contiene le sottodirectory asm e istio-1.21.5-asm.12. La directory asm contiene la configurazione dell'installazione. La directory istio-1.21.5-asm.12 contiene i contenuti estratti del file di installazione, che include istioctl, Samples e manifest. Se specifichi --output-dir e la directory contiene già i file necessari, --output-dir li utilizza 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 tutti gli altri piattaforme utilizzate, multicloud.

-r|--revision_name REVISION NAME

Un'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, asmcli imposta il valore per l'etichetta della revisione in base alla versione di Cloud Service Mesh, ad esempio asm-1215-12. Includi questa opzione se vuoi sostituire il valore predefinito e specificare il tuo. La L'argomento REVISION NAME deve essere un Etichetta DNS-1035. Ciò significa che il nome deve:

  • Deve contenere al massimo 63 caratteri
  • contenere solo caratteri alfanumerici minuscoli o "-"
  • Deve 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. In caso contrario specificato, l'account utente attivo nell'attuale configurazione di gcloud è in uso. 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 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 attivazione

I flag che iniziano con --enable consentono a asmcli di attivare la richiesta Google API autorizzazioni IAM (Identity and Access Management) richieste, e aggiornare il cluster. Se preferisci, aggiornare progetto e cluster autonomamente prima di eseguire asmcli. Tutti i flag di abilitazione sono incompatibili con asmcli validate. Se specifichi un flag di abilitazione 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 qui sotto.
--enable_cluster_roles
Consenti a asmcli di tentare di associare l'account utente o di servizio Google Cloud che esegue asmcli al ruolo cluster-admin nel tuo cluster. asmcli determina l'account utente dal comando gcloud config get core/account. Se esegui asmcli in locale con un account utente, assicurati che che chiami 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 dei cluster richieste.
--enable_gcp_components

Consenti a asmcli di attivare i seguenti componenti e servizi gestiti Google Cloud obbligatori:

--enable_gcp_apis

Consenti a asmcli di attivare tutte API di Google richieste.

--enable_gcp_iam_roles

Consenti a asmcli di impostare il campo obbligatorio Autorizzazioni IAM.

--enable_meshconfig_init

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

--enable_namespace_creation

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

--enable_registration

Consenti a asmcli di 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_all solo se 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 è per i cluster non Google Cloud. Se non viene fornito per i cluster Google Cloud, viene utilizzato per impostazione predefinita l'ID progetto del cluster. Puoi eseguire asmcli install insieme a --fleet_id prima dell'installazione oppure come parte dell'installazione superando i --enable-registration e --fleet-id e i flag facoltativi. Questa impostazione non può essere modificata dopo la configurazione.
--managed
Ritirata. Esegui il provisioning di un piano di controllo gestito remoto anziché installarlo uno nel cluster.
--offline
Esegui un'installazione offline utilizzando il pacchetto pre-scaricato nella directory di output. Se la directory è non specificato o non contiene i file richiesti, lo script verrà chiuso con errori.
--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. asmcli termina con un errore se specifichi --only_validate con un flag di abilitazione.
--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. asmcli ignora tutti le convalide e la configurazione quando specifichi questo flag.
--disable_canonical_service
Per impostazione predefinita, asmcli esegue il deployment del controller del servizio di canonicalizzazione nel tuo cluster. Se non vuoi che asmcli esegui il deployment del controller, specifica --disable_canonical_service. Per ulteriori informazioni, consulta Attivazione e disattivazione del controller del servizio canonico.
-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 superato, asmcli applicherà i manifest CNI statici.
--use_vpcsc
Se la tua organizzazione applica le norme Controlli di servizio VPC per il 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
Man mano che asmcli viene eseguito, stampa il comando che eseguirà successivamente. Con il --verbose flag, asmcli stampa il comando anche dopo l'esecuzione.
--version
Stampa la versione di asmcli ed esci. Se non hai l'impostazione più recente version, puoi eseguire scarica la versione più recente di asmcli_1.21.