Quando installi Anthos Service Mesh, a seconda dell'ambiente puoi specificare un profilo di configurazione o un file overlay che imposta il profilo automaticamente. I profili di configurazione sono file YAML che utilizzano l'API IstioOperator
. I profili definiscono e configurano le funzionalità installate con Anthos Service Mesh. I profili Anthos Service Mesh sono overlay del profilo empty
(che non significa nessuna impostazione) o del profilo Istio default
.
Con Anthos Service Mesh vengono forniti i seguenti profili:
asm-gcp
: utilizza questo profilo se tutti i tuoi cluster GKE si trovano nello stesso progetto. Quando installi Anthos Service Mesh con questo profilo, vengono abilitate le seguenti funzionalità:Telemetria della rete mesh, che fornisce dati sulle dashboard di Anthos Service Mesh nella console Google Cloud.
Le altre funzionalità predefinite supportate elencate nella pagina Funzionalità supportate per il profilo di configurazione
asm-gcp
.
asm-gcp-multiproject
: utilizza questo profilo se il tuo cluster GKE si trova in un virtual private cloud condiviso e vuoi aggiungere cluster di progetti diversi ad Anthos Service Mesh. Quando installi Anthos Service Mesh utilizzando il profiloasm-gcp-multiproject
:Le dashboard di Anthos Service Mesh nella console Google Cloud attualmente non sono disponibili. Tuttavia, puoi comunque visualizzare i log in Cloud Logging e le metriche in Cloud Monitoring per ciascun progetto.
Le funzionalità predefinite supportate elencate nella pagina Funzionalità supportate per il profilo di configurazione
asm-gcp-multiproject
sono attive.
asm-multicloud
: utilizza questo profilo per i cluster in altri ambienti supportati: GKE su VMware, GKE su AWS, Amazon Elastic Kubernetes Service (Amazon EKS) e Microsoft Azure Kubernetes Service (Microsoft AKS). Quando installi Anthos Service Mesh utilizzando il profiloasm-multicloud.yaml
, vengono attivate le funzionalità predefinite supportate elencate nella pagina Funzionalità supportate per il profilo di configurazioneasm-multicloud
.
I profili si trovano nella sottodirectory manifests/profiles
all'interno della directory principale dell'installazione di Anthos Service Mesh.
File di overlay
Un file di overlay è un file YAML contenente una risorsa (RP) personalizzata IstioOperator
che puoi utilizzare per configurare il piano di controllo. Puoi eseguire l'override della configurazione predefinita e attivare le funzionalità facoltative supportate in un file di overlay.
Puoi sovrapporre più overlay e ogni file di overlay sostituisce
la configurazione dei livelli precedenti.
Quando installi o esegui l'upgrade di Anthos Service Mesh utilizzando il comando istioctl install
, puoi specificare uno o più file overlay sulla riga di comando con l'opzione della riga di comando -f
.
Non includere più RP in un unico file YAML | crea file YAML separati per ogni RP |
---|---|
Anche se puoi modificare la configurazione specificando i parametri di configurazione nella riga di comando utilizzando l'opzione --set
per istioctl install
, ti consigliamo di usare un file di overlay in modo da poter archiviare il file nel tuo sistema di controllo della versione insieme agli altri file di definizione delle risorse. Devi conservare questi file per l'upgrade di Anthos Service Mesh in modo che il mesh di servizi abbia la stessa configurazione dopo l'upgrade.
I file degli overlay in questa pagina si trovano all'interno del pacchetto asm
in GitHub. Questi file contengono personalizzazioni comuni ai profili.
Puoi utilizzare questi file così come sono o apportare ulteriori modifiche, se necessario. Puoi anche creare file di overlay, come descritto in
Personalizzazione della configurazione.
Quando installi Anthos Service Mesh utilizzando lo script install_asm
fornito da Google, puoi specificare uno o più file overlay con le opzioni --option
o --custom_overlay
. Se non devi apportare modifiche ai file, puoi utilizzare --option
e lo script recupera il file da GitHub per te. In caso contrario, puoi apportare modifiche al file dell'overlay e poi utilizzare l'opzione --custom_overlay
per passarlo allo script install_asm
. Per
esempi di utilizzare entrambe le opzioni, vedi
esempi di install_asm
.
Per scaricare il pacchetto asm
:
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.7-asm asm
Esempi
Per attivare una funzionalità durante l'installazione o l'upgrade di Anthos Service Mesh, devi includere sia il file del profilo che il file dell'overlay che imposta il profilo e il file per la funzionalità che vuoi attivare. Il comando esatto varia leggermente a seconda dell'ambiente e dell'utilizzo dello script install_asm
o del comando istioctl install
.
Tutti i comandi seguenti impostano un'etichetta di revisione su istiod
. L'etichetta di revisione ha il formato istio.io/rev=asm-178-10
. 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 nella guida sull'installazione di Anthos Service Mesh on-premise fino al punto in cui installerai Anthos Service Mesh e che il pacchetto asm
si trovi nella directory di lavoro attuale. Il file egressgateways.yaml
contiene la configurazione per abilitare un gateway in uscita.
Installa Anthos Service Mesh su GKE su VMware:
istioctl install \ --set profile=asm-multicloud \ -f asm/istio/options/egressgateways.yaml \ --set revision=asm-178-10
Assicurati di tornare alla guida all'installazione di GKE su VMware per configurare il webhook di convalida, necessario per le nuove installazioni.
Abilita un gateway in uscita su GKE su Google Cloud
Ti consigliamo di utilizzare lo script install_asm
per configurare cluster autonomi o più cluster nello stesso progetto. Lo script utilizza il profilo asm-gcp
e imposta un'etichetta di revisione su istiod
. Questo esempio presuppone che tu abbia seguito la guida sull'installazione di Anthos Service Mesh su GKE per scaricare la versione dello script install_asm
nel ramo release-1.7-asm
che installa Anthos Service Mesh1.7.8.
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_apis \
--option egressgateways
Questo comando esegue lo script per una nuova installazione, imposta il profilo asm-gcp
, configura il cluster con le opzioni richieste da Anthos Service Mesh, abilita Mesh CA (l'autorità di certificazione predefinita per le nuove installazioni), consente allo script di abilitare le API di Google richieste e recupera egressgateways.yaml
da GitHub.
Abilita un gateway in uscita su cluster GKE in progetti diversi
Attualmente, lo script install_asm
non supporta l'installazione di Anthos Service Mesh con il profilo asm-gcp-multiproject
, che è il profilo richiesto quando vuoi configurare più cluster in progetti diversi per Anthos Service Mesh.
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 installi Anthos Service Mesh e che il pacchetto asm
si trovi nella directory di lavoro attuale.
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-178-10
I seguenti file si sovrappongono alle impostazioni nel file
istio-operator.yaml
:Il file
multiproject.yaml
imposta il profiloasm-gcp-multiproject
. Poiché questo file imposta il profilo, 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
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.