Quando installi Anthos Service Mesh, le funzionalità del piano di controllo attivate per impostazione predefinita variano a seconda della piattaforma. Puoi abilitare le funzionalità facoltative includendo un file di overlay durante l'installazione (o l'upgrade) di Anthos Service Mesh. Un file di overlay è un file YAML contenente una risorsa (RP) personalizzata di IstioOperator
che utilizzi per configurare il piano di controllo. Puoi ignorare la configurazione predefinita
e attivare una funzionalità facoltativa in un file di overlay. Puoi sovrapporre più overlay e ogni file di overlay sostituisce la configurazione dei livelli precedenti.
Informazioni sui file di overlay
I file degli overlay in questa pagina si trovano all'interno del pacchetto anthos-service-mesh
in GitHub. Questi file contengono personalizzazioni comuni alla configurazione predefinita. Puoi utilizzare questi file così come sono o apportare ulteriori modifiche in base alle esigenze.
Quando installi Anthos Service Mesh utilizzando il comando
istioctl install
, puoi specificare uno o più file di overlay con l'opzione della riga di comando-f
. Anche se puoi modificare la configurazione specificando i parametri di configurazione nella riga di comando utilizzando l'opzione--set
peristioctl install
, ti consigliamo di utilizzare un file di overlay in modo da poter archiviare il file nel tuo sistema di controllo della versione insieme agli altri file di risorse personalizzati. Devi conservare questi file per l'upgrade di Anthos Service Mesh, in modo che il piano di controllo abbia la stessa configurazione dopo l'upgrade.Quando installi Anthos Service Mesh utilizzando lo script
install_asm
fornito da Google, puoi specificare uno o più file di overlay con le opzioni--option
o--custom_overlay
. Se non devi apportare modifiche ai file nel repositoryanthos-service-mesh
, puoi utilizzare--option
e lo script recupera automaticamente il file da GitHub. In caso contrario, puoi apportare modifiche al file di overlay e poi utilizzare l'opzione--custom_overlay
per passarlo allo scriptinstall_asm
. Per esempi di utilizzo di entrambe le opzioni, consulta gli esempi diinstall_asm
.
Non includere più RP in un unico file YAML | crea file YAML separati per ogni RP |
---|---|
Download del pacchetto anthos-service-mesh
in corso...
Per scaricare il pacchetto anthos-service-mesh
:
I passaggi seguenti utilizzano kpt
per scaricare il pacchetto asm
dal repository GitHub. Se preferisci, puoi utilizzare git clone
.
Se non l'hai ancora fatto, installa
kpt
:gcloud components install kpt
Scarica il pacchetto che contiene i file:
kpt pkg get \ https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.8-asm asm
Gli esempi seguenti presuppongono che il pacchetto
asm
si trovi nella tua directory di lavoro attuale.
Esempi
Per attivare una funzionalità durante l'installazione di Anthos Service Mesh, il comando esatto varia leggermente a seconda della piattaforma e se stai utilizzando lo script install_asm
o il comando istioctl install
.
Tutti i comandi seguenti impostano un'etichetta di revisione su istiod
. Il nome del deployment istiod
verrà impostato su istiod-asm-186-8
. L'etichetta di revisione è nel formato istio.io/rev=asm-186-8
. L'etichetta della revisione viene utilizzata
dal webhook automatico dell'iniettore collaterale per associare i file collaterali inseriti a
una determinata revisione istiod
. Per abilitare l'inserimento automatico collaterale per uno spazio dei nomi, devi etichettarlo con una revisione corrispondente all'etichetta di revisione su istiod
.
Abilita un gateway in uscita su GKE On-Prem
Questo esempio presuppone che tu abbia seguito i passaggi descritti nella guida Installazione di Anthos Service Mesh on-premise fino al punto in cui stai installando Anthos Service Mesh.
La guida include i passaggi per impostare la variabile di ambiente CTX_CLUSTER1
e
configurare cluster.yaml
. Una delle impostazioni configurate in cluster.yaml
è la revisione. Il file egressgateways.yaml
contiene la configurazione per abilitare un gateway in uscita facoltativo.
Installa Anthos Service Mesh su GKE su VMware:
istioctl install --context="${CTX_CLUSTER1}" \ -f cluster.yaml \ -f asm/istio/options/egressgateways.yaml
Assicurati di tornare alla guida all'installazione di GKE su VMware per configurare il webhook di convalida, necessario per le nuove installazioni.
L'ordine dei file nella riga di comando è importante. Assicurati di specificare prima cluster.yaml
, che contiene la configurazione richiesta per le funzionalità predefinite, quindi i file degli overlay in seguito.
Abilita un gateway in uscita su GKE su Google Cloud
Ti consigliamo di utilizzare lo script install_asm
per configurare uno o più cluster nello stesso progetto. Lo script imposta un'etichetta di revisione su istiod
.
Questo esempio presuppone che tu abbia seguito la guida
Installazione di Anthos Service Mesh su GKE
per scaricare la versione dello script install_asm
sul ramo
release-1.8-asm
che installa Anthos Service Mesh
1.8.6.
Per utilizzare lo script install_asm
per installare un gateway in uscita:
./install_asm \
--project_id PROJECT_ID \
--cluster_name CLUSTER_NAME \
--cluster_location CLUSTER_LOCATION \
--mode install \
--enable_all \
--option egressgateways
Questo comando esegue lo script per una nuova installazione e abilita
Mesh CA, che è la CA predefinita per le installazioni. Il flag --enable_all
consente allo script di abilitare le API di Google richieste, impostare le autorizzazioni di Identity and Access Management e apportare gli aggiornamenti necessari al cluster, inclusa l'abilitazione di GKE Workload Identity.
Lo script recupera il file egressgateways.yaml
da GitHub, che viene utilizzato per
configurare il piano di controllo.
Abilita un gateway in uscita su cluster GKE in progetti diversi
Attualmente, lo script install_asm
non supporta l'installazione di Anthos Service Mesh su cluster in progetti diversi.
La riga di comando seguente presuppone che tu abbia seguito tutti i passaggi descritti nell'installazione e migrazione di più progetti fino al punto in cui installerai Anthos Service Mesh.
Installa Anthos Service Mesh:
istioctl install \ -f asm/istio/istio-operator.yaml \ -f asm/istio/options/multiproject.yaml \ -f asm/istio/options/multicluster.yaml\ -f asm/istio/options/egressgateways.yaml \ --set revision=asm-186-8
I seguenti file si sovrappongono alle impostazioni nel file
istio-operator.yaml
:Il file
multiproject.yaml
viene utilizzato per specificare le funzionalità predefinite per un mesh multiprogetto. Devi specificarlo prima degli altri file di overlay.Il file
multicluster.yaml
configura le impostazioni necessarie ad Anthos Service Mesh per una configurazione multi-cluster.Il file
egressgateways.yaml
configura il gateway in uscita.
Assicurati di tornare alla guida all'installazione per più progetti per configurare il webhook di convalida, necessario per le nuove installazioni.
YAML per funzionalità facoltative
Le seguenti sezioni forniscono il codice YAML per abilitare le funzionalità facoltative e supportate.
Modalità mTLS STRICT
La configurazione di global.mtls.enabled
è stata rimossa per evitare problemi con gli upgrade e per offrire un'installazione più flessibile. Per attivare la tecnologia mTLS di STRICT
, configura invece un criterio di autenticazione peer.
Indirizza Envoy a stdout
Per ulteriori informazioni, vedi Abilitare il logging degli accessi di Envoy.
Cloud Trace
Per le installazioni su GKE, puoi abilitare Cloud Trace. Per informazioni più dettagliate sui prezzi, consulta la pagina dei prezzi di Cloud Trace.
La frequenza di campionamento predefinita è pari all'1%, ma puoi sostituire quella predefinita specificando un valore tracing.sampling
. Il valore deve essere compreso tra 0,0 e 100,0 con una precisione di 0,01. Ad esempio, per tracciare 5 richieste ogni 10.000,utilizza 0, 05.
L'esempio seguente mostra una frequenza di campionamento del 100% (che useresti solo a scopo dimostrativo o per la risoluzione dei problemi).
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
meshConfig:
enableTracing: true
defaultConfig:
tracing:
sampling: 100
values:
global:
proxy:
tracer: stackdriver
Tieni presente che, attualmente la configurazione del tracer fa parte della configurazione del bootstrap del proxy, quindi è necessario riavviare il pod e reinserirlo per recuperare l'aggiornamento del tracer. Ad esempio, puoi utilizzare il comando seguente in cui i pod di riavvio appartengono a un deployment:
kubectl rollout restart deployment -n NAMESPACE DEPLOYMENT_NAME
Trace la propagazione del contesto
Sebbene i proxy collaterali possano inviare automaticamente intervalli di traccia, hanno bisogno di alcuni suggerimenti per collegare l'intera traccia. Le applicazioni devono propagare le intestazioni HTTP appropriate in modo che, quando i proxy inviano informazioni sugli intervalli, gli intervalli possano essere correlati correttamente in un'unica traccia.
A questo scopo, un'applicazione deve raccogliere e propagare le seguenti intestazioni dalla richiesta in entrata a qualsiasi richiesta in uscita:
- x-request-id
- traccia x-b3
- x-b3-spanid
- x-b3-parentspanid
- campionato x-b3
- flag x-b3
- x-ot-span-context
- x-cloud-trace-context
- Traceparent
- grpc-trace-bin
Per esempi di propagazione delle intestazioni, consulta Tracciare la propagazione del contesto.
Crea una traccia dal client con un ID personalizzato
Per creare una traccia da un client con un ID personalizzato, usa il comando curl
per creare una richiesta con un client esterno e forzare la visualizzazione di una traccia. Ad esempio:
curl $URL --header "x-client-trace-id: 105445aa7843bc8bf206b12000100000"
Per ulteriori informazioni su x-client-trace-id
, consulta la
documentazione di Envoy.
In uscita tramite gateway in uscita
Per ulteriori informazioni, consulta Gateway in uscita.
Interfaccia di rete del container Istio
L'abilitazione dell'interfaccia CINI (Container Network Interface) per Istio dipende dall'ambiente in cui è installato Anthos Service Mesh. Devi anche abilitare un criterio di rete.
Abilita CNI su GKE
Abilita CNI su GKE su VMware
Abilita un bilanciatore del carico interno
Per le installazioni su GKE, puoi abilitare un bilanciatore del carico interno per il gateway in entrata Istio.
Gestione dei certificati esterni sul gateway in entrata
Per informazioni su come abilitare la gestione dei certificati esterni sul gateway in entrata utilizzando Envoy SDS, consulta Gateway sicuri.