Proxy di destinazione per Cloud Service Mesh

Questo documento riguarda solo Cloud Service Mesh con le API di bilanciamento del carico. Me ti consigliamo vivamente di utilizzare API di routing dei servizi per eseguire il deployment di Cloud Service Mesh.

Quando configuri Cloud Service Mesh, una delle risorse che configuri è proxy di destinazione. Nel contesto di Cloud Service Mesh, i proxy di destinazione gestiscono due scopi principali:

  • Definizione del protocollo utilizzato dai client Cloud Service Mesh quando aprire una connessione ai backend o agli endpoint associati a un servizio.

  • Utilizzo di regole di forwarding e mappe URL per creare una mappa di regole di routing. La la mappa di regole di routing fornisce funzionalità aggiuntive, come regole di routing, a seconda del tipo di proxy di destinazione. Le selezioni non valide sono nascoste nell'interfaccia utente o rifiutata dall'API.

Tipi di proxy target e protocolli di richiesta

Cloud Service Mesh genera configurazioni diverse per i propri client in base il tipo di proxy di destinazione che configuri. Quando configuri una destinazione di proxy di rete, il client Cloud Service Mesh utilizza un protocollo di richiesta specifico.

Proxy di destinazione Protocollo richiesta
HTTPS I client avviano le connessioni HTTPS
HTTP I client avviano connessioni HTTP
gRPC I client avviano connessioni gRPC
TCP I client avviano connessioni TCP

Non sei obbligato a scegliere un solo tipo. Ad esempio, l'applicazione potrebbe voler usare HTTP per gestire alcuni servizi ma usare TCP quando ci si rivolge ad altri servizi. Per questo caso d'uso, devi creare sia un'istanza proxy HTTP di destinazione e un proxy TCP di destinazione.

Combinazioni di risorse valide in una mappa di regole di routing

Per evitare errori di configurazione, Cloud Service Mesh ti consente solo di creare una regola di routing mappe simili ai seguenti:

  • Regola di forwarding > Proxy HTTPS di destinazione globale > Mappa URL > uno o più servizi di backend
  • Regola di forwarding > proxy HTTP di destinazione globale > Mappa URL > uno o più servizi di backend
  • Regola di forwarding > Proxy gRPC di destinazione globale > Mappa URL > uno o più servizi di backend
  • Regola di forwarding > proxy TCP di destinazione globale > un servizio di backend

Se utilizzi la console Google Cloud per configurare un proxy HTTP di destinazione, il proxy di destinazione è configurato implicitamente come parte della mappa di regole di routing configurazione. La configurazione del proxy TCP non è ancora supportata in nella console Google Cloud.

Se utilizzi Google Cloud CLI o le API, devi configurare in modo esplicito al proxy di destinazione.

Gestione del traffico

Le seguenti sezioni descrivono i modi per gestire il traffico in base al tipo di proxy di destinazione che utilizzi.

Utilizzo di un proxy HTTP o HTTPS di destinazione

Quando configuri i servizi basati su HTTP o HTTPS, ogni istanza di servizio e generalmente dispone di un proxy Envoy distribuito. Cloud Service Mesh configura questo proxy Envoy. Fa parte del piano dati del tuo mesh di servizi e gestisce il traffico come segue:

Il proxy Envoy riceve la richiesta in uscita. Quindi confronta l'indirizzo IP e la porta di destinazione all'indirizzo IP e alla porta configurati in ciascuno regola di forwarding che fa riferimento a un proxy HTTP o HTTPS di destinazione. Se una corrispondenza è viene rilevato, il proxy Envoy valuta la richiesta in base alla mappa URL corrispondente.

Utilizzo di un proxy TCP di destinazione

Quando si configurano i servizi basati su TCP, ogni istanza di servizio in genere con un proxy Envoy distribuito. Cloud Service Mesh configura questo proxy Envoy. Fa parte del piano dati del tuo mesh di servizi e gestisce il traffico come segue:

Il proxy Envoy riceve la richiesta in uscita. Quindi confronta l'indirizzo IP e la porta di destinazione all'indirizzo IP e alla porta configurati in ciascuno regola di forwarding che fa riferimento a un proxy TCP di destinazione. Ogni route delle regola di forwarding Traffico TCP verso un proxy di destinazione che punta a un servizio di backend predefinito. La servizio di backend specifica un controllo di integrità e determina il backend appropriato.

Utilizzo di un proxy gRPC di destinazione

Quando configuri i servizi basati su gRPC, le istanze di servizio in genere non con cui eseguire il deployment dei proxy Envoy. Cloud Service Mesh configura la libreria gRPC. La libreria fa parte del piano dati del tuo mesh di servizi e gestisce il traffico come segue.

La libreria gRPC confronta il hostname[:port] specificato nell'URI con l'host in tutte le mappe URL a cui fa riferimento un proxy gRPC di destinazione. Se una corrispondenza è trovata, la libreria gRPC valuta la richiesta in base alle regole del percorso associate alla regola host corrispondente.

Risorse proxy di destinazione

Per aggiungere, eliminare, elencare e ottenere informazioni sui proxy di destinazione: puoi utilizzare l'API REST o gcloud CLI.

Inoltre, per ottenere informazioni su un proxy di destinazione, puoi utilizzare il seguente Comandi gcloud:

gcloud compute [target-http-proxies | target-tcp-proxies | target-grpc-proxies] list
gcloud compute [target-http-proxies | target-tcp-proxies | target-grpc-proxies] describe TARGET_PROXY_NAME

API

Per le descrizioni delle proprietà e dei metodi a tua disposizione quando lavorare con i proxy di destinazione tramite API REST, consulta quanto segue. supportate da Cloud Service Mesh:

Interfaccia a riga di comando gcloud

Per Google Cloud CLI, consulta le risorse seguenti:

Passaggi successivi