Preparati a configurare Traffic Director con Envoy
La configurazione di Traffic Director prevede le seguenti fasi:
- Concessione delle autorizzazioni, abilitare l'API Traffic Director e, se utilizzi Compute Engine, configurare Cloud DNS.
- Deployment delle applicazioni con proxy Envoy.
- Creazione di servizi e regole di routing che determinano il modo in cui il traffico passa attraverso il tuo mesh di servizi.
Questo documento descrive la prima fase e si applica se utilizzi le API precedenti o le nuove API di routing dei servizi in anteprima. La seconda e la terza fase sono coperte dalle guide specifiche per piattaforma elencate nella sezione Continuare la procedura di configurazione più avanti in questo documento.
Prima di leggere questa guida, acquisisci familiarità con la panoramica di Traffic Director. Se utilizzi le nuove API, consulta la panoramica delle nuove API di routing dei servizi.
Prerequisiti
Se prevedi di utilizzare Traffic Director per configurare i proxy Envoy in esecuzione insieme alle applicazioni su istanze di macchine virtuali (VM), container o un mix di entrambi, devi prima completare le seguenti attività:
- Abilita fatturazione.
- Decidi come installare Envoy.
- Concedi le autorizzazioni necessarie.
- Abilitare l'API Traffic Director per il tuo progetto.
- Se utilizzi Compute Engine, abilita l'API Cloud DNS e configura Cloud DNS.
- Assicurati che l'account di servizio utilizzato dai proxy Envoy disponga di autorizzazioni sufficienti per accedere all'API Traffic Director.
Le seguenti sezioni forniscono le istruzioni per ogni attività.
Abilita fatturazione
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Per ulteriori informazioni, consulta Abilitare, disabilitare o modificare la fatturazione per un progetto.
Decidi come installare Envoy
Traffic Director semplifica l'installazione dei proxy di Envoy e la gestione di questo livello dell'infrastruttura:
In Compute Engine, puoi aggiungere automaticamente Envoy alle applicazioni in esecuzione sulle tue VM. Puoi utilizzare un modello di VM che installa Envoy, lo connette a Traffic Director e configura il networking della tua VM.
In Google Kubernetes Engine (GKE), puoi aggiungere automaticamente proxy sidecar di Envoy ai pod dei tuoi servizi. Puoi installare un iniettore sidecar Envoy al tuo cluster, che aggiunge proxy collaterali Envoy, li connette a Traffic Director e configura il networking del tuo container.
Infine, con Traffic Director puoi anche utilizzare soluzioni di deployment Envoy di provider di terze parti. Un esempio di questa offerta è GetEnvoy, che fornisce un approccio basato su gestore di pacchetti per l'installazione e l'aggiornamento dei proxy Envoy.
Informazioni sul controllo delle versioni di Envoy
Envoy deve essere versione 1.9.1 o successiva per poter funzionare con Traffic Director. Ti consigliamo di utilizzare sempre la versione più recente di Envoy per assicurarti che le vulnerabilità di sicurezza note siano attenuate.
Se decidi di eseguire il deployment di Envoy utilizzando uno dei nostri metodi automatizzati, gestiamo questa attività per te come segue:
Quando utilizzi il deployment automatizzato di Envoy con VM di Compute Engine, la versione di Envoy installata è una che abbiamo convalidato per funzionare con Traffic Director. Quando viene creata una nuova VM utilizzando il modello di istanza, la VM riceve la versione più recente che abbiamo convalidato. Se disponi di una VM a lunga esecuzione, puoi utilizzare un aggiornamento in sequenza per sostituire le VM esistenti e utilizzare la versione più recente.
Quando utilizzi l'iniettore sidecar Envoy con GKE, l'iniettore è configurato per utilizzare una versione recente di Envoy che abbiamo convalidato per funzionare con Traffic Director. Quando un sidecar viene inserito insieme al pod del carico di lavoro, riceve questa versione di Envoy. Se vuoi scegliere una versione più recente di Envoy, aggiorna l'iniettore sidecar di Envoy.
Per informazioni su versioni specifiche di Envoy, vedi Cronologia delle versioni. Per informazioni sulle vulnerabilità di sicurezza, consulta gli avvisi sulla sicurezza.
Concedi le autorizzazioni IAM richieste
Devi disporre di autorizzazioni Identity and Access Management (IAM) sufficienti per creare istanze VM e modificare una rete per configurare Traffic Director. Se disponi del ruolo di Proprietario o Editor (roles/owner
o roles/editor
) nel progetto in cui stai attivando Traffic Director, disponi automaticamente delle autorizzazioni corrette.
In caso contrario, devi disporre di tutti i ruoli IAM di Compute Engine mostrati nella tabella seguente. Se disponi di questi ruoli, disponi anche delle relative autorizzazioni associate, come descritto nella documentazione IAM di Compute Engine.
Attività | Ruolo richiesto |
---|---|
Impostazione del criterio IAM per un account di servizio. | Amministratore account di servizio
( roles/iam.serviceAccountAdmin ) |
Ottieni la risorsa della regola di forwarding globale. | Visualizzatore di rete Compute
( roles/compute.networkViewer ) |
Attiva Traffic Director. | Amministratore Service Usage
( roles/serviceusage.serviceUsageAdmin ) |
Crea reti, subnet e componenti del bilanciatore del carico. | Amministratore di rete Compute
( roles/compute.networkAdmin ) |
Aggiungi e rimuovi le regole firewall. | Amministratore sicurezza Compute
( roles/compute.securityAdmin ) |
Creare istanze. | Amministratore istanze Compute
( roles/compute.instanceAdmin ) |
Inoltre, il pool di nodi GKE o le VM di Compute Engine devono avere l'ambito https://www.googleapis.com/auth/cloud-platform
. Per ulteriori informazioni, consulta la pagina sulla risoluzione dei problemi di deployment che utilizzano Envoy.
Abilita l'API Traffic Director
Console
Nella console Google Cloud, vai alla pagina Libreria API relativa al progetto.
Nel campo Cerca API e servizi, inserisci
Traffic Director
.Nell'elenco dei risultati di ricerca, fai clic su API Traffic Director. Se l'API Traffic Director non è visualizzata nell'elenco, significa che non disponi delle autorizzazioni necessarie per abilitare l'API Traffic Director.
Nella pagina API Traffic Director, fai clic su Attiva.
gcloud
Esegui questo comando:
gcloud services enable trafficdirector.googleapis.com
Abilita l'API Cloud DNS e configura Cloud DNS
Utilizza queste istruzioni se stai configurando Traffic Director su Compute Engine. Devi abilitare l'API Cloud DNS e configurare Cloud DNS per la risoluzione dei nomi DNS.
Per informazioni di base su Traffic Director e risoluzione DNS, consulta Traffic Director e la risoluzione dei nomi DNS.
Innanzitutto, segui le istruzioni riportate di seguito per abilitare l'API Cloud DNS.
Console
Nella console Google Cloud, vai alla pagina Libreria API relativa al progetto.
Nel campo Cerca API e servizi, inserisci
DNS
.Nell'elenco dei risultati di ricerca, fai clic su API Cloud DNS. Se l'API Cloud DNS non è elencata, significa che non disponi delle autorizzazioni necessarie per abilitarla.
Nella pagina API Cloud DNS, fai clic su Abilita.
gcloud
Esegui questo comando:
gcloud services enable dns.googleapis.com
Il passaggio successivo consiste nel configurare una zona privata gestita di Cloud DNS. Segui le istruzioni riportate in Creare una zona privata.
Abilita l'account di servizio per accedere all'API Traffic Director
Quando configuri il piano dati e lo connetti a Traffic Director, i client xDS (ad esempio i proxy Envoy) si connettono al server xDS di trafficdirector.googleapis.com
. Questi client xDS presentano un'identità dell'account di servizio al server xDS per garantire che le comunicazioni tra il piano dati e il piano di controllo siano autorizzate correttamente:
- Per una VM di Compute Engine, il client xDS utilizza l'account di servizio assegnato alla VM.
- Per GKE, se
Workload Identity
non è abilitato, il client xDS utilizza l'account di servizio assegnato al nodo GKE sottostante. - Se
Workload Identity
è abilitato, il client xDS utilizza l'account di servizio Google associato all'account di servizio Kubernetes assegnato al pod.
Devi disporre delle autorizzazioni seguenti, a seconda della versione del client xDS che utilizzi per configurare Envoy. Ti consigliamo vivamente di configurare i nuovi deployment di Envoy con xDS v3 o di eseguire la migrazione a xDS v3 se disponi di un deployment esistente che utilizza xDS v2.
Quando utilizzi xDS v3, l'account di servizio utilizzato dai client deve disporre delle autorizzazioni
trafficdirector.networks.reportMetrics
etrafficdirector.networks.getConfigs
. Puoi utilizzare il ruolo client di Traffic Director (roles/trafficdirector.client
) di IAM, che esegue il wrapping di entrambe le autorizzazioni.Quando utilizzi xDS v2, l'account di servizio utilizzato dai client deve disporre dell'autorizzazione IAM
compute.globalForwardingRules.get
a livello di progetto. Puoi anche concedere questa autorizzazione assegnando il ruolo Visualizzatore rete Compute (roles/compute.networkViewer
) all'account di servizio.
Console
Nella console Google Cloud, vai alla pagina IAM e amministrazione.
Seleziona il progetto.
Identifica l'account di servizio a cui vuoi aggiungere un ruolo:
- Se l'account di servizio non è già nell'elenco Membri, non avrà alcun ruolo assegnato. Fai clic su Aggiungi e inserisci l'indirizzo email dell'account di servizio.
- Se l'account di servizio è già nell'elenco Membri, significa che ha ruoli esistenti. Seleziona l'account di servizio, quindi fai clic sulla scheda Ruoli.
Espandi il ruolo. In corrispondenza dell'account di servizio che vuoi modificare, fai clic su
Modifica.Seleziona il ruolo Altro > Client Traffic Director.
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 all'account di servizio
Continua la procedura di configurazione
Ora che hai completato i passaggi preliminari, puoi iniziare a configurare il tuo mesh di servizi.
- Continua con le guide alla configurazione del routing del servizio Traffic Director.
- Continua con le guide alla configurazione dell'API GKE Kubernetes Gateway di Traffic Director. Tieni presente che la funzionalità dell'API Gateway è in anteprima.
- Opzioni di configurazione avanzate di Traffic Director.
- Configura gli attributi di bootstrap di Envoy.