Regole di forwarding 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.

Cloud Service Mesh utilizza la regola di forwarding per determinare il proxy di destinazione quale traffico nel mesh viene instradato.

Ogni regola di forwarding fornisce un singolo indirizzo IPv4 globale per un servizio. Tu puoi utilizzare quell'indirizzo per creare record DNS interni per il tuo servizio (ad esempio, utilizzando un Zona privata gestita di Cloud DNS). I filtri di metadati nella regola di forwarding specificano i criteri per cui Il proxy sidecar compatibile con xDS riceve la configurazione.

Per il piano di controllo Cloud Service Mesh, il piano di controllo interno, autogestito La regola di forwarding globale instrada il traffico per indirizzo IP, porta e protocollo a un proxy di destinazione. Il proxy di destinazione rimanda a una mappa URL contenente regole che determinare la destinazione del traffico. La mappa URL specifica anche il valore predefinito di servizio di backend. Questo servizio di backend specifica un controllo di integrità e determina il backend appropriato, ad esempio un gruppo di istanze gestite che contiene di macchine virtuali (VM) o un Gruppo di endpoint di rete (NEG) che contiene i pod di backend di Google Kubernetes Engine (GKE).

Il seguente diagramma mostra come una regola di forwarding si inserisce in Cloud Service Mesh dell'architettura.

Regola di forwarding Cloud Service Mesh evidenziata.
Regola di forwarding Cloud Service Mesh evidenziata (fai clic per ingrandire)

Proprietà delle regole di forwarding

Una risorsa della regola di forwarding contiene le seguenti proprietà che si applicano a Cloud Service Mesh. La regola di forwarding gestisce il traffico che corrisponde l'indirizzo IP, il protocollo e il numero di porta di destinazione.

Un indirizzo IP 0.0.0.0 in una regola di forwarding è una delle opzioni quando usando Cloud Service Mesh. Un indirizzo IP 0.0.0.0 indica qualsiasi indirizzo IP.

  • Con un deployment proxy, un indirizzo IP 0.0.0.0 consente al proxy di trovare qualsiasi traffico in entrata se non viene trovata un'altra corrispondenza specifica.

  • Con un deployment senza proxy, un indirizzo IP 0.0.0.0 fornisce un modo per specificare non è necessario specificare un indirizzo IP. Di seguito sono riportati ulteriori dettagli sull'utilizzo 0.0.0.0 indirizzi IP con un proxy gRPC di destinazione.

La tabella seguente descrive in modo più dettagliato le proprietà regola di forwarding.

Proprietà Obbligatorio Descrizione
name

Il nome della regola di forwarding.

Il nome deve essere univoco in questo progetto, con una lunghezza compresa tra 1 e 63 caratteri, e corrispondano all'espressione regolare: [a-z]([-a-z0-9]*[a-z0-9])?

Ciò significa che il primo carattere deve essere una lettera minuscola e i seguenti caratteri devono essere un trattino, una lettera minuscola o una cifra, tranne l'ultimo carattere, che non può essere un trattino.

IPAddress

Uno dei seguenti: 0.0.0.0 o 127.0.0.1, o qualsiasi indirizzo RFC 1918.

Non è necessario specificare gli indirizzi IP per le regole di forwarding di Cloud Service Mesh corrispondono agli intervalli di indirizzi IP delle subnet una rete VPC (Virtual Private Cloud). Per un determinato VPC rete, indirizzo IP e porta, puoi avere un solo una regola di forwarding autogestita.

Ad esempio, nella stessa rete VPC, non puoi creare due regole di forwarding che usano l'indirizzo IP 0.0.0.0 e porta 80.

IPAddress con un proxy gRPC di destinazione

Una regola di forwarding che fa riferimento a un proxy gRPC di destinazione con Campo validateForProxyless impostato su TRUE e il suo indirizzo IP è impostato su 0.0.0.0.

Un client gRPC che utilizza Lo schema xds non esegue una ricerca DNS per risolvere il nome host nell'URI del canale. Questo client risolve invece hostname[:port] nell'URI di destinazione inviando un Servizio di rilevamento listener (LDS) a Cloud Service Mesh. Non è richiesta una ricerca DNS e un DNS per il nome host non è obbligatorio.

Di conseguenza, Cloud Service Mesh utilizza l'indirizzo IP 0.0.0.0 e la porta (predefinita 80) specificata nell'URI da cercare la regola di forwarding. Quindi, Cloud Service Mesh cerca un host corrispondente nella mappa URL del proxy di destinazione a cui fa riferimento personalizzata.

target

Il proxy di destinazione a cui questa regola di forwarding indirizza il traffico. Cloud Service Mesh supporta target-http-proxy, target-https-proxy e target-grpc-proxy.

Quando utilizzi la console Google Cloud per configurare la regola di forwarding, il proxy di destinazione viene configurato automaticamente. Quando utilizzi il Google Cloud CLI o l'API, il proxy di destinazione deve esistere prima di per creare la regola di forwarding. Puoi utilizzare più di una regola di forwarding con un determinato proxy.

IPProtocol Il tipo di protocollo corrispondente da questa regola di forwarding. L'unico il valore supportato è TCP.
loadBalancingScheme Specifica come viene utilizzata la regola di forwarding. Il valore valido per Cloud Service Mesh è INTERNAL_SELF_MANAGED.
portRange

Una porta o un intervallo di porte unito da un trattino.

Pacchetti del numero specificato il protocollo inviato a queste porte viene inoltrato al backend appropriato. Puoi specificare un singolo numero di un intervallo, ad esempio 80 o 80-8080.

Per una rete VPC, un indirizzo IP e una porta, è possibile avere una sola regola di forwarding interno autogestita. Ad esempio, nel sulla stessa rete VPC, non puoi creare due regole che utilizzano l'indirizzo IP e la porta 0.0.0.0 80.

Con i servizi gRPC senza proxy, la porta nella regola di forwarding è corrisponde alla porta specificata nell'URI utilizzato da un'applicazione gRPC per la connessione a un servizio. Se nell'URI non è specificata una porta, 80 è la porta predefinita.

network

Specifica la rete VPC in cui viene eseguito il deployment Si trovano le VM che eseguono proxy Envoy.

I proxy Envoy leggono il messaggio Configurazione di Cloud Service Mesh che definisci per la stessa rete in cui viene eseguito il deployment dei proxy. Puoi utilizzare il VPC una rete denominata default o una rete personalizzata.

Cloud Service Mesh supporta il bilanciamento del carico per i client solo all'interno rete Google Cloud. Devi specificare il nome della rete nel di una regola di forwarding. Il peering di rete VPC non è supportato.

Aggiungi una regola di forwarding globale

Per scoprire come configurare una regola di forwarding nel complesso Per la configurazione di Cloud Service Mesh con le API di bilanciamento del carico, consulta quanto segue:

Passaggi successivi