Preparati a configurare Cloud Service Mesh con Envoy
La configurazione di Cloud Service Mesh include le seguenti fasi:
- Concessione delle autorizzazioni, abilitazione dell'API Traffic Director e, se utilizzi Compute Engine: configurazione di Cloud DNS.
- Deployment delle applicazioni con proxy Envoy.
- Creazione di servizi e regole di routing che determinano la modalità di trasferimento del traffico attraverso la rete mesh di servizi.
Questo documento descrive la prima fase e si applica quando utilizzi le API meno recenti. La seconda e la terza fase sono trattate dalla specifiche per piattaforma elencate in Continuare la procedura di configurazione più avanti in questo documento.
Prima di leggere questa guida, acquisisci familiarità con le Panoramica di Cloud Service Mesh. Se utilizzi le API di routing dei servizi, rivedi le Panoramica delle API di routing dei servizi.
Prerequisiti
Indica se prevedi di utilizzare Cloud Service Mesh per configurare i proxy Envoy in esecuzione insieme alle applicazioni su istanze di macchine virtuali (VM), container o entrambi, devi prima completare le seguenti attività:
- Abilita la fatturazione.
- Decidi come installare Envoy.
- Concedi le autorizzazioni richieste.
- Abilita l'API Traffic Director per il tuo progetto.
- Se utilizzi Compute Engine, abilita l'API Cloud DNS e configura in Cloud DNS.
- Assicurati che l'account di servizio utilizzato dai proxy Envoy sia sufficiente le autorizzazioni per accedere all'API Traffic Director.
Le sezioni seguenti forniscono istruzioni per ogni attività.
Abilita fatturazione
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Per maggiori informazioni le informazioni, vedi Abilitare, disabilitare o modificare la fatturazione per un progetto.
Decidi come installare Envoy
Cloud Service Mesh ti consente di installare proxy Envoy e gestire questo livello di infrastruttura:
Su Compute Engine, puoi aggiungere automaticamente Envoy alle applicazioni in esecuzione sulle tue VM. Utilizzi un modello VM che installa Envoy, lo connette a Cloud Service Mesh e configura il networking della VM.
Su Google Kubernetes Engine (GKE), puoi aggiungere automaticamente proxy sidecar di Envoy ai tuoi servizi di pod. Installi un iniettore collaterale Envoy nel cluster, che aggiunge proxy sidecar di Envoy, li collega a Cloud Service Mesh configura il networking del container.
Infine, puoi anche utilizzare soluzioni di deployment Envoy di fornitori di terze parti con Cloud Service Mesh. Un esempio di questo tipo di offerta è GetEnvoy, che offre un approccio basato sul gestore di pacchetti per l'installazione e l'aggiornamento Proxy Envoy.
Informazioni sul controllo delle versioni di Envoy
Envoy deve avere la versione 1.9.1 o successiva per funzionare con Cloud Service Mesh. Consigliamo di utilizzare sempre la versione più recente di Envoy per garantire che le vulnerabilità della sicurezza vengono ridotte.
Se decidi di eseguire il deployment di Envoy utilizzando uno dei nostri metodi automatici, gestiamo questa attività per te:
Quando utilizzi il deployment di Envoy automatizzato con le VM di Compute Engine, installata è una versione che abbiamo convalidato per funzionare con Cloud Service Mesh. Quando viene creata una nuova VM utilizzando il modello di istanza, la VM riceve all'ultima versione che abbiamo convalidato. Se hai una VM a lunga esecuzione, puoi Utilizzare un aggiornamento in sequenza per sostituire le VM esistenti e scegliere la versione più recente.
Quando utilizzi l'iniettore collaterale di Envoy con GKE, injector è configurato per utilizzare una versione recente di Envoy che abbiamo convalidato per lavorare con Cloud Service Mesh. Quando un file collaterale viene inserito insieme al tuo del carico di lavoro, riceve questa versione di Envoy. Se vuoi scegliere un altro alla versione più recente di Envoy, aggiorna l'iniettore sidecar di Envoy.
Per informazioni su versioni specifiche di Envoy, consulta Cronologia delle versioni. Per informazioni sulle vulnerabilità di sicurezza, vedi Avvertenze sulla sicurezza.
Concedi le autorizzazioni IAM richieste
Devi disporre di autorizzazioni di Identity and Access Management (IAM) sufficienti per creare una VM
e modificare una rete per configurare Cloud Service Mesh. Se hai
ruolo del progetto
Proprietario o Editor (roles/owner
o
roles/editor
) nel progetto in cui
attivi Cloud Service Mesh, avrai automaticamente le autorizzazioni corrette.
In caso contrario, devi avere tutti i ruoli IAM ruoli elencati nella tabella seguente. Se hai questi ruoli, hai anche le loro alle autorizzazioni associate, come descritto Documentazione IAM di Compute Engine.
Attività | Ruolo richiesto |
---|---|
Imposta il criterio IAM per un account di servizio. | Amministratore account di servizio
( roles/iam.serviceAccountAdmin ) |
Attiva Cloud Service Mesh. | Amministratore Service Usage
( roles/serviceusage.serviceUsageAdmin ) |
Creare reti, subnet e componenti del bilanciatore del carico. | Amministratore rete Compute
( roles/compute.networkAdmin ) |
Aggiungi e rimuovi le regole firewall. | Amministratore sicurezza Compute
( roles/compute.securityAdmin ) |
Creare le istanze. | Amministratore istanze Compute
( roles/compute.instanceAdmin ) |
Il pool di nodi GKE o le VM di Compute Engine devono
avere
https://www.googleapis.com/auth/cloud-platform
l'ambito di attività. Per ulteriori informazioni, vedi
Risoluzione dei problemi dei deployment che utilizzano Envoy.
Con xDS v3, concedi l'account di servizio utilizzato dai client Envoy di Cloud Service Mesh
il ruolo roles/trafficdirector.client
.
Abilita l'API Traffic Director
Console
Nella console Google Cloud, vai alla pagina Libreria API relativa al tuo progetto.
Nella sezione Cerca API e Services, inserisci
Traffic Director
.Nell'elenco dei risultati di ricerca, fai clic su API Traffic Director. Se non vedi il dell'API Traffic Director, significa che non disponi dell'API autorizzazioni per abilitare l'API Traffic Director.
Nella pagina dell'API Traffic Director, fai clic su Abilita.
gcloud
Esegui questo comando:
gcloud services enable trafficdirector.googleapis.com
Abilita l'API Cloud DNS e configura Cloud DNS
Utilizza queste istruzioni se configuri Cloud Service Mesh su in Compute Engine. Devi abilitare l'API Cloud DNS e configurare Cloud DNS per la risoluzione dei nomi DNS.
Per informazioni di base su Cloud Service Mesh e sulla risoluzione DNS, consulta Risoluzione dei nomi DNS e di Cloud Service Mesh.
Innanzitutto, segui queste istruzioni per abilitare l'API Cloud DNS.
Console
Nella console Google Cloud, vai alla pagina Libreria API relativa al tuo progetto.
Nella sezione Cerca API e Services, inserisci
DNS
.Nell'elenco dei risultati di ricerca, fai clic su API Cloud DNS. Se non vedi il API Cloud DNS, vuol dire che non disponi dei autorizzazioni per abilitare l'API Cloud DNS.
Nella pagina API Cloud DNS, fai clic su Abilita.
gcloud
Esegui questo comando:
gcloud services enable dns.googleapis.com
Quindi, configura una zona privata gestita di Cloud DNS. Segui le istruzioni in Creare una zona privata.
Abilita l'account di servizio per accedere all'API Traffic Director
Quando configuri il piano dati e lo colleghi a Cloud Service Mesh,
I client xDS (ad esempio i proxy Envoy) si connettono
trafficdirector.googleapis.com
server xDS. Questi client xDS presentano un servizio
l'identità dell'account al server xDS per assicurare che le comunicazioni
sia il piano dati sia il piano di controllo siano autorizzati in modo adeguato:
- Per una VM di Compute Engine, il client xDS utilizza il servizio assegnato alla VM.
- Per GKE, se
Workload Identity
non è abilitato, il valore Il client xDS utilizza l'account di servizio assegnato all'istanza del nodo GKE. - Se
Workload Identity
è abilitato, il client xDS utilizza il servizio Google associato all'account di servizio Kubernetes assegnato all'interno del pod.
Devi disporre delle seguenti autorizzazioni. È supportato solo xDS v3. Se utilizzi xDS v2, devi eseguire la migrazione a xDS v3. Per informazioni per informazioni sulla migrazione, vedi Eseguire la migrazione da xDS v2 a xDS v3.
Quando utilizzi xDS v3, l'account di servizio utilizzato dai clienti deve disporre della
trafficdirector.networks.reportMetrics
e
Autorizzazioni trafficdirector.networks.getConfigs
. Puoi utilizzare il ruolo IAM
Ruolo Client Cloud Service Mesh
(roles/trafficdirector.client
), che aggrega entrambe le autorizzazioni.
Console
Nella console Google Cloud, vai alla sezione IAM e Amministratore .
Seleziona il progetto.
Identifica l'account di servizio a cui vuoi aggiungere un ruolo:
- Se l'account di servizio non è già nell'elenco Membri, può non ha ruoli assegnati. Fai clic su Add (Aggiungi) e inserisci l'indirizzo email dell'account di servizio.
- Se l'account di servizio è già nell'elenco Membri, deve: ruoli esistenti. Seleziona l'account di servizio, quindi fai clic sull'icona Scheda Ruoli.
Espandi il ruolo. Per l'account di servizio che vuoi modificare, fai clic su
Modifica.Seleziona il ruolo Altro > Client Cloud Service Mesh.
Per applicare il ruolo all'account di servizio, fai clic su Salva.
gcloud
Esegui questo comando:
gcloud projects add-iam-policy-binding PROJECT \ --member serviceAccount:SERVICE_ACCOUNT_EMAIL \ --role=roles/trafficdirector.client
Sostituisci quanto segue:
PROJECT
: inseriscigcloud config get-value project
SERVICE_ACCOUNT_EMAIL
: l'indirizzo email associato al account di servizio
Continua la procedura di configurazione
Ora che hai completato i passaggi preliminari, puoi iniziare a configurare mesh di servizi.
- Opzioni di configurazione avanzate di Cloud Service Mesh.
- Configura gli attributi di bootstrap di Envoy.