In questa pagina viene spiegato come:
- Esegui
asmcli
per eseguire una nuova installazione di Anthos Service Mesh 1.11.8-asm.4. - Facoltativamente, esegui il deployment di un gateway in entrata.
- Esegui il deployment o riesegui il deployment dei tuoi carichi di lavoro per inserire proxy sidecar.
Prima di iniziare
Prima di iniziare, assicurati di:
- Esamina i prerequisiti.
- Consulta le informazioni riportate in Pianificare l'installazione.
- Installa gli strumenti richiesti.
- Scarica
asmcli
. - Concedi le autorizzazioni di amministratore del cluster.
- Convalida progetto e cluster.
Installazione di Anthos Service Mesh
Di seguito viene descritto come installare Anthos Service Mesh:
Esegui
asmcli install
per installare il piano di controllo nel cluster su un singolo cluster. Per gli esempi di righe di comando, consulta le sezioni seguenti. Gli esempi contengono sia argomenti obbligatori sia argomenti facoltativi che potresti trovare utili. Ti consigliamo di specificare sempre l'argomentooutput_dir
in modo da poter individuare facilmente strumenti e gateway di esempio comeistioctl
. Consulta la barra di navigazione sulla destra per un elenco di esempi.I cluster GKE privati richiedono un passaggio di configurazione firewall aggiuntivo per consentire il traffico verso
istiod
.Facoltativamente, installa un gateway in entrata. Per impostazione predefinita,
asmcli
non installaistio-ingressgateway
. Ti consigliamo di eseguire il deployment e gestire separatamente il piano di controllo e i gateway. Se devi installare l'oggetto predefinitoistio-ingressgateway
con il piano di controllo nel cluster, includi l'argomento--option legacy-default-ingressgateway
.Per completare la configurazione di Anthos Service Mesh, devi abilitare l'inserimento automatico di file collaterali e eseguire il deployment o rieseguire il deployment dei carichi di lavoro.
Se stai installando Anthos Service Mesh su più cluster, esegui
asmcli install
su ciascun cluster. Quando eseguiasmcli install
, assicurati di utilizzare lo stessoFLEET_PROJECT_ID
per ogni cluster. Dopo aver installato Anthos Service Mesh, consulta Configurare un mesh multi-cluster.Se i tuoi cluster si trovano su reti diverse (in modalità isola), devi passare un nome di rete univoco a
asmcli
utilizzando il flag--network_id
.
Installa le funzionalità predefinite e Mesh CA
Questa sezione mostra come eseguire asmcli
per installare Anthos Service Mesh con le funzionalità supportate predefinite per la tua piattaforma e come abilitare l'autorità di certificazione Anthos Service Mesh (CA mesh) come autorità di certificazione.
GKE
Esegui questo comando per installare il piano di controllo con le funzionalità predefinite e Mesh CA. Inserisci i valori nei segnaposto forniti.
./asmcli install \
--project_id PROJECT_ID \
--cluster_name CLUSTER_NAME \
--cluster_location CLUSTER_LOCATION \
--fleet_id FLEET_PROJECT_ID \
--output_dir DIR_PATH \
--enable_all \
--ca mesh_ca
--project_id
,--cluster_name
e--cluster_location
Specifica l'ID progetto in cui si trova il cluster, il nome del cluster e la zona o la regione del cluster.--fleet_id
L'ID progetto del progetto host del parco risorse. Se non includi questa opzione,asmcli
utilizza il progetto in cui è stato creato il cluster durante la registrazione del cluster.--output_dir
Includi questa opzione per specificare una directory in cuiasmcli
scarica il pacchettoanthos-service-mesh
ed estrae il file di installazione, che contieneistioctl
, esempi e file manifest. In caso contrario,asmcli
scarica i file in una directorytmp
. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente$PWD
non funziona in questo caso.-
--enable_all
Consente allo script di:- Concedi le autorizzazioni IAM richieste.
- Abilita le API di Google richieste.
- Imposta un'etichetta sul cluster che identifica il mesh.
- Registra il cluster nel parco risorse, se non è già registrato.
--ca mesh_ca
Utilizza Mesh CA come autorità di certificazione.asmcli
Configura Mesh CA per utilizzare l'identità del carico di lavoro del parco risorse
On-premise
Esegui i comandi seguenti su GKE su VMware o Google Distributed Cloud Virtual for Bare Metal per installare il piano di controllo con funzionalità predefinite e Mesh CA. Inserisci i valori nei segnaposto forniti.
Imposta il contesto attuale per il tuo cluster utente:
kubectl config use-context CLUSTER_NAME
Esegui
asmcli install
:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca mesh_ca
--fleet_id
L'ID progetto del progetto host del parco risorse.--kubeconfig
Il percorso completo del filekubeconfig
. La variabile di ambiente$PWD
non funziona in questo caso. Inoltre, le posizioni relative dei filekubeconfig
che utilizzano il carattere "~" non funzioneranno.--output_dir
Includi questa opzione per specificare una directory in cuiasmcli
scarica il pacchettoanthos-service-mesh
ed estrae il file di installazione, che contieneistioctl
, esempi e file manifest. In caso contrario,asmcli
scarica i file in una directorytmp
. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente$PWD
non funziona in questo caso.--platform multicloud
Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.-
--enable_all
Consente allo script di:- Concedi le autorizzazioni IAM richieste.
- Abilita le API di Google richieste.
- Imposta un'etichetta sul cluster che identifica il mesh.
- Registra il cluster nel parco risorse, se non è già registrato.
--ca mesh_ca
Utilizza Mesh CA come autorità di certificazione.asmcli
Configura Mesh CA per utilizzare l'identità del carico di lavoro del parco risorse
Installa le funzionalità predefinite e il servizio dell'autorità di certificazione (CA)
Questa sezione mostra come eseguire asmcli
per installare Anthos Service Mesh con le funzionalità supportate predefinite per la tua piattaforma e come abilitare CA Service come autorità di certificazione.
Oltre a Mesh CA, puoi configurare Anthos Service Mesh per utilizzare Certificate Authority Service. Questa guida offre un'opportunità per l'integrazione con CA Service, consigliata per i seguenti casi d'uso:
- Se hai bisogno di autorità di certificazione diverse per firmare i certificati dei carichi di lavoro su cluster diversi.
- Se vuoi utilizzare i certificati plug-in CA personalizzati
istiod
. - Se devi eseguire il backup delle chiavi di firma in un HSM gestito da Google.
- Se utilizzi un settore altamente regolamentato e sei soggetto alla conformità.
- Se vuoi concatenare Anthos Service Mesh CA a un certificato radice aziendale personalizzato per firmare i certificati dei carichi di lavoro.
Il costo di Mesh CA è incluso nel prezzo di Anthos Service Mesh. Il servizio CA non è incluso nel prezzo base di Anthos Service Mesh e viene addebitato separatamente. Inoltre, CA Service viene fornito con uno SLA (accordo sul livello del servizio) esplicito, al contrario di Mesh CA.
Per questa integrazione, a tutti i carichi di lavoro in Anthos Service Mesh vengono concessi due ruoli IAM:
Configura CA Service
- Crea il pool di CA e assicurati che almeno un'autorità di certificazione attiva in quel pool di CA nello stesso progetto del cluster GKE. Usa CA subordinate per firmare i certificati per i carichi di lavoro di Anthos Service Mesh. Prendi nota del pool di CA corrispondente alla CA subordinata.
- Assicurati che il pool di CA sia nel livello
DevOps
e nella stessa regione del cluster che fornisce per evitare problemi di latenza eccessiva o potenziali interruzioni tra regioni. Per ulteriori informazioni, consulta la sezione Livelli ottimizzati per il carico di lavoro. Se è destinata solo a gestire i certificati per i carichi di lavoro Anthos Service Mesh, configura il seguente criterio di emissione per il pool di CA: Come best practice per i mesh multi-cluster, imposta un pool di CA subordinato per ogni regione del cluster univoca. Tutti i pool di CA subordinati devono concatenarsi allo stesso pool di CA radice.
policy.yaml
baselineValues: keyUsage: baseKeyUsage: digitalSignature: true keyEncipherment: true extendedKeyUsage: serverAuth: true clientAuth: true caOptions: isCa: false identityConstraints: allowSubjectPassthrough: false allowSubjectAltNamesPassthrough: true celExpression: expression: subject_alt_names.all(san, san.type == URI && san.value.startsWith("spiffe://PROJECT_ID.svc.id.goog/ns/") )
Per aggiornare il criterio di emissione del pool di CA, utilizza il comando seguente:
gcloud privateca pools update CA_POOL --location ca_region --issuance-policy policy.yaml
Per informazioni sull'impostazione di un criterio in un pool, consulta Utilizzare un criterio di emissione di certificati.
Configura Anthos Service Mesh per utilizzare CA Service
Installa il piano di controllo Anthos Service Mesh che utilizza Certificate Authority Service come CA:
./asmcli install \ --project_id PROJECT_ID \ --cluster_name CLUSTER_NAME \ --cluster_location CLUSTER_LOCATION \ --enable_all \ --ca gcp_cas \ --ca_pool projects/PROJECT_NAME/locations/ca_region/caPools/CA_POOL
Installa un gateway in entrata per ricevere connessioni HTTP/TCP in entrata o in uscita. Per maggiori dettagli, vedi Installare i gateway.
Completa l'installazione di Anthos Service Mesh per abilitare l'inserimento automatico di proxy sidecar sui tuoi carichi di lavoro. Per maggiori dettagli, consulta Eseguire il deployment dei carichi di lavoro ed eseguirne nuovamente il deployment.
Installa le funzionalità predefinite con la CA Istio
Questa sezione spiega come:
- Genera certificati e chiavi per la CA Istio utilizzata da Anthos Service Mesh per firmare i carichi di lavoro.
- Esegui
asmcli
per installare Anthos Service Mesh con funzionalità predefinite e attiva Istio CA.
Per la massima sicurezza, consigliamo vivamente di mantenere una CA radice offline e di utilizzare le CA subordinate per emettere certificati per ogni cluster. Per ulteriori informazioni, consulta la sezione Collegare certificati CA. In questa configurazione, tutti i carichi di lavoro nel mesh di servizi utilizzano la stessa autorità di certificazione (CA) radice. Ogni CA Anthos Service Mesh utilizza una chiave e un certificato di firma della CA intermedia, firmati dalla CA radice. Quando sono presenti più CA all'interno di un mesh, viene stabilita una gerarchia di attendibilità tra le CA. Puoi ripetere questi passaggi per eseguire il provisioning di certificati e chiavi per un numero qualsiasi di autorità di certificazione.
Il makefile per generare i certificati si trova nella sottodirectory istio-1.11.8-asm.4
della directory --output_dir
specificata nel comando asmcli validate
. Se non hai eseguito asmcli validate
o non hai la directory scaricata in locale, puoi ottenere il Makefile
scaricando il file di installazione di Anthos Service Mesh
ed estraendo i contenuti.
Passa alla directory
istio-1.11.8-asm.4
.Crea una directory per i certificati e le chiavi:
mkdir -p certs && \ pushd certs
Genera un certificato radice e una chiave:
make -f ../tools/certs/Makefile.selfsigned.mk root-ca
Questo genera i seguenti file:
- root-cert.pem: il certificato radice
- root-key.pem: la chiave radice
- root-ca.conf: la configurazione di beginsl per generare il certificato radice
- root-cert.csr: la richiesta di firma del certificato per il certificato radice
Genera un certificato e una chiave intermedi:
make -f ../tools/certs/Makefile.selfsigned.mk cluster1-cacerts
Questo genera i seguenti file in una directory denominata
cluster1
:- ca-cert.pem: i certificati intermedi
- ca-key.pem: la chiave intermedia
- cert-chain.pem: la catena di certificati utilizzata da istiod
- root-cert.pem: il certificato radice
Se esegui questi passaggi utilizzando un computer offline, copia la directory generata su un computer con accesso ai cluster.
Torna alla directory precedente:
popd
Esegui
asmcli
per installare un mesh utilizzando la CA Istio:GKE
Esegui questo comando per installare il piano di controllo con le funzionalità predefinite e la CA Istio. Inserisci i valori nei segnaposto forniti.
./asmcli install \ --project_id PROJECT_ID \ --cluster_name CLUSTER_NAME \ --cluster_location CLUSTER_LOCATION \ --fleet_id FLEET_PROJECT_ID \ --output_dir DIR_PATH \ --enable_all \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH
--project_id
,--cluster_name
e--cluster_location
Specifica l'ID progetto in cui si trova il cluster, il nome del cluster e la zona o la regione del cluster.--fleet_id
L'ID progetto del progetto host del parco risorse. Se non includi questa opzione,asmcli
utilizza il progetto in cui è stato creato il cluster durante la registrazione del cluster.--output_dir
Includi questa opzione per specificare una directory in cuiasmcli
scarica il pacchettoanthos-service-mesh
ed estrae il file di installazione, che contieneistioctl
, esempi e file manifest. In caso contrario,asmcli
scarica i file in una directorytmp
. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente$PWD
non funziona in questo caso.-
--enable_all
Consente allo script di:- Concedi le autorizzazioni IAM richieste.
- Abilita le API di Google richieste.
- Imposta un'etichetta sul cluster che identifica il mesh.
- Registra il cluster nel parco risorse, se non è già registrato.
-ca citadel
Utilizza la CA Istio come autorità di certificazione.--ca_cert
Il certificato intermedio--ca_key
La chiave per il certificato intermedio--root_cert
Il certificato radice--cert_chain
La catena di certificati
On-premise
Esegui i comandi seguenti su GKE su VMware o Google Distributed Cloud Virtual for Bare Metal per installare il piano di controllo con le funzionalità predefinite e la CA Istio. Inserisci i valori nei segnaposto forniti.
Imposta il contesto attuale per il tuo cluster utente:
kubectl config use-context CLUSTER_NAME
Esegui
asmcli install
:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH
--fleet_id
L'ID progetto del progetto host del parco risorse.--kubeconfig
Il percorso completo del filekubeconfig
. La variabile di ambiente$PWD
non funziona in questo caso. Inoltre, le posizioni relative dei filekubeconfig
che utilizzano il carattere "~" non funzioneranno.--output_dir
Includi questa opzione per specificare una directory in cuiasmcli
scarica il pacchettoanthos-service-mesh
ed estrae il file di installazione, che contieneistioctl
, esempi e file manifest. In caso contrario,asmcli
scarica i file in una directorytmp
. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente$PWD
non funziona in questo caso.--platform multicloud
Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.-
--enable_all
Consente allo script di:- Concedi le autorizzazioni IAM richieste.
- Abilita le API di Google richieste.
- Imposta un'etichetta sul cluster che identifica il mesh.
- Registra il cluster nel parco risorse, se non è già registrato.
-ca citadel
Utilizza la CA Istio come autorità di certificazione.--ca_cert
Il certificato intermedio--ca_key
La chiave per il certificato intermedio--root_cert
Il certificato radice--cert_chain
La catena di certificati
AWS
Esegui i comandi seguenti su GKE su AWS per installare il piano di controllo con funzionalità predefinite e la CA Istio. Inserisci i valori nei segnaposto forniti. Puoi scegliere di abilitare Ingress per la subnet pubblica o privata.
Pubblico
Imposta il contesto attuale per il tuo cluster utente:
kubectl config use-context CLUSTER_NAME
Esegui
asmcli install
:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH
--fleet_id
L'ID progetto del progetto host del parco risorse.--kubeconfig
Il percorso completo del filekubeconfig
. La variabile di ambiente$PWD
non funziona in questo caso. Inoltre, le posizioni relative dei filekubeconfig
che utilizzano il carattere "~" non funzioneranno.--output_dir
Includi questa opzione per specificare una directory in cuiasmcli
scarica il pacchettoanthos-service-mesh
ed estrae il file di installazione, che contieneistioctl
, esempi e file manifest. In caso contrario,asmcli
scarica i file in una directorytmp
. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente$PWD
non funziona in questo caso.--platform multicloud
Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.-
--enable_all
Consente allo script di:- Concedi le autorizzazioni IAM richieste.
- Abilita le API di Google richieste.
- Imposta un'etichetta sul cluster che identifica il mesh.
- Registra il cluster nel parco risorse, se non è già registrato.
-ca citadel
Utilizza la CA Istio come autorità di certificazione.--ca_cert
Il certificato intermedio--ca_key
La chiave per il certificato intermedio--root_cert
Il certificato radice--cert_chain
La catena di certificati
Privato
Imposta il contesto attuale per il tuo cluster utente:
kubectl config use-context CLUSTER_NAME
Salva il seguente file YAML in un file denominato
istio-operator-internal-lb.yaml
:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: ingressGateways: - enabled: true k8s: serviceAnnotations: service.beta.kubernetes.io/aws-load-balancer-internal: "true" name: istio-ingressgateway
Esegui
asmcli install
:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH \ --custom_overlay istio-operator-internal-lb.yaml
--fleet_id
L'ID progetto del progetto host del parco risorse.--kubeconfig
Il percorso completo del filekubeconfig
. La variabile di ambiente$PWD
non funziona in questo caso. Inoltre, le posizioni relative dei filekubeconfig
che utilizzano il carattere "~" non funzioneranno.--output_dir
Includi questa opzione per specificare una directory in cuiasmcli
scarica il pacchettoanthos-service-mesh
ed estrae il file di installazione, che contieneistioctl
, esempi e file manifest. In caso contrario,asmcli
scarica i file in una directorytmp
. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente$PWD
non funziona in questo caso.--platform multicloud
Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.-
--enable_all
Consente allo script di:- Concedi le autorizzazioni IAM richieste.
- Abilita le API di Google richieste.
- Imposta un'etichetta sul cluster che identifica il mesh.
- Registra il cluster nel parco risorse, se non è già registrato.
-ca citadel
Utilizza la CA Istio come autorità di certificazione.--ca_cert
Il certificato intermedio--ca_key
La chiave per il certificato intermedio--root_cert
Il certificato radice--cert_chain
La catena di certificati
Amazon EKS
Esegui i comandi seguenti su Amazon EKS per installare il piano di controllo con funzionalità predefinite e la CA Istio. Inserisci i valori nei segnaposto forniti.
Imposta il contesto attuale per il tuo cluster utente:
kubectl config use-context CLUSTER_NAME
Esegui
asmcli install
:./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca citadel \ --ca_cert CA_CERT_FILE_PATH \ --ca_key CA_KEY_FILE_PATH \ --root_cert ROOT_CERT_FILE_PATH \ --cert_chain CERT_CHAIN_FILE_PATH
--fleet_id
L'ID progetto del progetto host del parco risorse.--kubeconfig
Il percorso completo del filekubeconfig
. La variabile di ambiente$PWD
non funziona in questo caso. Inoltre, le posizioni relative dei filekubeconfig
che utilizzano il carattere "~" non funzioneranno.--output_dir
Includi questa opzione per specificare una directory in cuiasmcli
scarica il pacchettoanthos-service-mesh
ed estrae il file di installazione, che contieneistioctl
, esempi e file manifest. In caso contrario,asmcli
scarica i file in una directorytmp
. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente$PWD
non funziona in questo caso.--platform multicloud
Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.-
--enable_all
Consente allo script di:- Concedi le autorizzazioni IAM richieste.
- Abilita le API di Google richieste.
- Imposta un'etichetta sul cluster che identifica il mesh.
- Registra il cluster nel parco risorse, se non è già registrato.
-ca citadel
Utilizza la CA Istio come autorità di certificazione.--ca_cert
Il certificato intermedio--ca_key
La chiave per il certificato intermedio--root_cert
Il certificato radice--cert_chain
La catena di certificati
Installa con funzionalità facoltative
Un file overlay è un file YAML contenente una risorsa IstioOperator
personalizzata (CR) che passi a asmcli
per configurare il piano di controllo. Puoi eseguire l'override della configurazione predefinita del piano di controllo e abilitare una funzionalità facoltativa passando il file YAML a asmcli
. Puoi aggiungere più overlay: ogni file di overlay sostituisce la configurazione dei livelli precedenti. Come best practice, ti consigliamo di salvare i file degli overlay nel tuo sistema di controllo della versione.
GKE
Esegui questo comando per installare il piano di controllo con una funzionalità facoltativa. Per aggiungere più file, specifica --custom_overlay
e il nome del file,
ad esempio: --custom_overlayoverlay_file1.yaml
--custom_overlay overlay_file2.yaml --custom_overlay overlay_file3.yaml
Inserisci i tuoi valori nei segnaposto forniti.
./asmcli install \
--project_id PROJECT_ID \
--cluster_name CLUSTER_NAME \
--cluster_location CLUSTER_LOCATION \
--fleet_id FLEET_PROJECT_ID \
--output_dir DIR_PATH \
--enable_all \
--ca mesh_ca \
--custom_overlay OVERLAY_FILE
--project_id
,--cluster_name
e--cluster_location
Specifica l'ID progetto in cui si trova il cluster, il nome del cluster e la zona o la regione del cluster.--fleet_id
L'ID progetto del progetto host del parco risorse. Se non includi questa opzione,asmcli
utilizza il progetto in cui è stato creato il cluster durante la registrazione del cluster.--output_dir
Includi questa opzione per specificare una directory in cuiasmcli
scarica il pacchettoanthos-service-mesh
ed estrae il file di installazione, che contieneistioctl
, esempi e file manifest. In caso contrario,asmcli
scarica i file in una directorytmp
. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente$PWD
non funziona in questo caso.-
--enable_all
Consente allo script di:- Concedi le autorizzazioni IAM richieste.
- Abilita le API di Google richieste.
- Imposta un'etichetta sul cluster che identifica il mesh.
- Registra il cluster nel parco risorse, se non è già registrato.
--ca mesh_ca
Utilizza Mesh CA come autorità di certificazione. Tieni presente cheasmcli
configura Mesh CA per l'utilizzo dell'identità del carico di lavoro del parco risorse--custom_overlay
Specifica il nome del file dell'overlay.
Al di fuori di Google Cloud
Esegui i comandi seguenti su GKE su VMware, Google Distributed Cloud Virtual for Bare Metal, GKE on AWS o Amazon EKS. Inserisci i tuoi valori nei segnaposto forniti.
Imposta il contesto attuale per il tuo cluster utente:
kubectl config use-context CLUSTER_NAME
Esegui
asmcli install
per installare il piano di controllo con una funzionalità facoltativa. Per aggiungere più file, specifica--custom_overlay
e il nome file, ad esempio:--custom_overlayoverlay_file1.yaml --custom_overlay overlay_file2.yaml --custom_overlay overlay_file3.yaml
./asmcli install \ --fleet_id FLEET_PROJECT_ID \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud \ --enable_all \ --ca mesh_ca \ --custom_overlay OVERLAY_FILE
--fleet_id
L'ID progetto del progetto host del parco risorse.--kubeconfig
Il percorso completo del filekubeconfig
. La variabile di ambiente$PWD
non funziona in questo caso. Inoltre, le posizioni relative dei filekubeconfig
che utilizzano il carattere "~" non funzioneranno.--output_dir
Includi questa opzione per specificare una directory in cuiasmcli
scarica il pacchettoanthos-service-mesh
ed estrae il file di installazione, che contieneistioctl
, esempi e file manifest. In caso contrario,asmcli
scarica i file in una directorytmp
. Puoi specificare un percorso relativo o un percorso completo. La variabile di ambiente$PWD
non funziona in questo caso.--platform multicloud
Specifica che la piattaforma è diversa da Google Cloud, ad esempio on-premise o multi-cloud.-
--enable_all
Consente allo script di:- Concedi le autorizzazioni IAM richieste.
- Abilita le API di Google richieste.
- Imposta un'etichetta sul cluster che identifica il mesh.
- Registra il cluster nel parco risorse, se non è già registrato.
--ca mesh_ca
Utilizza Mesh CA come autorità di certificazione. Tieni presente cheasmcli
configura Mesh CA per l'utilizzo dell'identità del carico di lavoro del parco risorse--custom_overlay
Specifica il nome del file dell'overlay.
Installa gateway
Anthos Service Mesh ti offre la possibilità di eseguire il deployment e gestire gateway come parte del tuo mesh di servizi. Un gateway descrive un bilanciatore del carico che opera sul perimetro della rete mesh che riceve connessioni HTTP/TCP in entrata o in uscita. I gateway sono proxy Envoy che ti forniscono un controllo granulare sul traffico in entrata e in uscita dal mesh.
Crea uno spazio dei nomi per il gateway in entrata, se non ne hai già uno. I gateway sono carichi di lavoro degli utenti e, come best practice, non deve essere eseguito il deployment nello spazio dei nomi del piano di controllo. Sostituisci
GATEWAY_NAMESPACE
con il nome del tuo spazio dei nomi.kubectl create namespace GATEWAY_NAMESPACE
Output previsto:
namespace/GATEWAY_NAMESPACE created
Abilita l'inserimento automatico sul gateway applicando un'etichetta di revisione allo spazio dei nomi del gateway. L'etichetta di revisione viene utilizzata dal webhook dell'iniettore sidecar per associare i proxy inseriti a una determinata revisione del piano di controllo.
Utilizza il seguente comando per individuare l'etichetta di revisione su
istiod
:kubectl get deploy -n istio-system -l app=istiod -o \ "jsonpath={.items[*].metadata.labels['istio\.io/rev']}{'\n'}"
Il comando restituisce l'etichetta di revisione che corrisponde alla versione di Anthos Service Mesh, ad esempio:
asm-1118-4
Applica l'etichetta di revisione allo spazio dei nomi. Nel comando seguente,
REVISION
è il valore dell'etichetta di revisioneistiod
che hai annotato nel passaggio precedente.kubectl label namespace GATEWAY_NAMESPACE \ istio.io/rev=REVISION --overwrite
Output previsto:
namespace/GATEWAY_NAMESPACE labeled
Puoi eseguire il deployment della configurazione del gateway in entrata di esempio che si trova nella directory
samples/gateways/istio-ingressgateway/
così com'è oppure modificarla in base alle tue esigenze.kubectl apply -n GATEWAY_NAMESPACE \ -f DIR_PATH/samples/gateways/istio-ingressgateway
Output previsto:
deployment.apps/istio-ingressgateway created poddisruptionbudget.policy/istio-ingressgateway created horizontalpodautoscaler.autoscaling/istio-ingressgateway created role.rbac.authorization.k8s.io/istio-ingressgateway created rolebinding.rbac.authorization.k8s.io/istio-ingressgateway created service/istio-ingressgateway created serviceaccount/istio-ingressgateway created
Scopri di più sulle best practice per i gateway.
Esegui il deployment dei carichi di lavoro ed eseguine nuovamente il deployment
Anthos Service Mesh utilizza i proxy sidecar per migliorare la sicurezza, l'affidabilità e l'osservabilità della rete. Con Anthos Service Mesh, queste funzioni vengono astratte dal container principale dell'applicazione e implementate in un proxy out-of-process comune, fornito come container separato nello stesso pod.
L'installazione non è completa finché non attivi l'inserimento automatico del proxy sidecar (inserimento automatico) e riavvii i pod per qualsiasi carico di lavoro in esecuzione sul tuo cluster prima dell'installazione di Anthos Service Mesh.
Per abilitare l'inserimento automatico, etichetta gli spazi dei nomi con l'etichetta di revisione
che è stata impostata il giorno istiod
al momento dell'installazione di Anthos Service Mesh. L'etichetta di revisione viene utilizzata dal webhook iniettore sidecar per associare i file collaterali inseriti a una determinata revisione istiod
. Dopo aver aggiunto l'etichetta, tutti i pod esistenti nello spazio dei nomi devono essere riavviati per poter inserire i file collaterali.
Prima di eseguire il deployment di nuovi carichi di lavoro in un nuovo spazio dei nomi, assicurati di configurare l'inserimento automatico in modo che Anthos Service Mesh possa monitorare e proteggere il traffico.
Per abilitare l'inserimento automatico:
Utilizza il seguente comando per individuare l'etichetta di revisione su
istiod
:kubectl -n istio-system get pods -l app=istiod --show-labels
L'output è simile al seguente:
NAME READY STATUS RESTARTS AGE LABELS istiod-asm-1118-4-5788d57586-bljj4 1/1 Running 0 23h app=istiod,istio.io/rev=asm-1118-4,istio=istiod,pod-template-hash=5788d57586 istiod-asm-1118-4-5788d57586-vsklm 1/1 Running 1 23h app=istiod,istio.io/rev=asm-1118-4,istio=istiod,pod-template-hash=5788d57586
Nell'output, sotto la colonna
LABELS
, prendi nota del valore dell'etichetta di revisioneistiod
, che segue il prefissoistio.io/rev=
. In questo esempio, il valore èasm-1118-4
.Applica l'etichetta di revisione e rimuovi l'etichetta
istio-injection
, se esistente. Nel seguente comando,NAMESPACE
è il nome dello spazio dei nomi in cui vuoi abilitare l'inserimento automatico eREVISION
è l'etichetta di revisione che hai annotato nel passaggio precedente.kubectl label namespace NAMESPACE istio-injection- istio.io/rev=REVISION --overwrite
Puoi ignorare il messaggio
"istio-injection not found"
nell'output. Ciò significa che lo spazio dei nomi non aveva in precedenza l'etichettaistio-injection
, cosa che dovresti aspettarti nelle nuove installazioni di Anthos Service Mesh o nei nuovi deployment. Poiché l'inserimento automatica non riesce se uno spazio dei nomi contiene sia l'etichettaistio-injection
sia l'etichetta di revisione, tutti i comandikubectl label
nella documentazione di Anthos Service Mesh comprendono la rimozione dell'etichettaistio-injection
.Se i carichi di lavoro erano in esecuzione sul tuo cluster prima dell'installazione di Anthos Service Mesh, riavvia i pod per attivare la reiniezione.
La modalità di riavvio dei pod dipende dall'applicazione e dall'ambiente in cui si trova il cluster. Ad esempio, nell'ambiente di gestione temporanea potresti semplicemente eliminare tutti i pod, il che comporta il riavvio. Tuttavia, nell'ambiente di produzione potresti avere un processo che implementa un deployment blu/verde in modo da poter riavviare i pod in modo sicuro ed evitare interruzioni del traffico.
Puoi utilizzare
kubectl
per eseguire un riavvio in sequenza:kubectl rollout restart deployment -n NAMESPACE
Che cosa succede dopo?
Scopri di più sulla configurazione di un mesh multi-cluster:
Se la tua rete mesh è composta interamente da cluster GKE, consulta Configurare un mesh multi-cluster su GKE.
Se il mesh è composto da cluster esterni a Google Cloud, consulta Configurare un mesh multi-cluster all'esterno di Google Cloud.
Esegui il deployment dell'applicazione di esempio di Boutique Online