Regole di forwarding per Cloud Service Mesh
Questo documento riguarda solo Cloud Service Mesh con le API di bilanciamento del carico. Ti consigliamo vivamente di utilizzare le 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 a cui viene indirizzato il traffico nel mesh.
Ogni regola di forwarding fornisce un singolo indirizzo IPv4 globale per un servizio. Puoi utilizzare quell'indirizzo per creare record DNS interni per il tuo servizio (ad esempio, utilizzando una zona privata gestita di Cloud DNS). I filtri di metadati nella regola di forwarding specificano i criteri in base ai quali un proxy sidecar conforme a xDS riceve la configurazione.
Per il piano di controllo di Cloud Service Mesh, la regola di forwarding interno, autogestito e globale instrada il traffico in base a indirizzo IP, porta e protocollo a un proxy di destinazione. Il proxy di destinazione rimanda a una mappa URL contenente regole che determinano la destinazione del traffico. La mappa URL specifica anche il servizio di backend predefinito. Questo servizio di backend specifica un controllo di integrità e determina il backend appropriato, ad esempio un gruppo di istanze gestite che contiene istanze di macchine virtuali (VM) o un gruppo di endpoint di rete (NEG) contenente pod di backend di Google Kubernetes Engine (GKE).
Il seguente diagramma mostra come una regola di forwarding si inserisce nell'architettura Cloud Service Mesh.
Proprietà delle regole di forwarding
Una risorsa regola di forwarding contiene le seguenti proprietà che si applicano a Cloud Service Mesh. La regola di forwarding gestisce il traffico che corrisponde all'indirizzo IP, al protocollo e al numero di porta di destinazione.
Un indirizzo IP 0.0.0.0
in una regola di forwarding è una delle opzioni quando
si utilizza Cloud Service Mesh. Un indirizzo IP 0.0.0.0
indica qualsiasi indirizzo IP.
Con un deployment del proxy, un indirizzo IP
0.0.0.0
consente a un proxy di trovare corrispondenze con tutto il 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 che non è necessario un indirizzo IP. Di seguito sono riportati ulteriori dettagli sull'utilizzo degli indirizzi IP di0.0.0.0
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 corrispondere all'espressione regolare:
Ciò significa che il primo carattere deve essere una lettera minuscola e tutti i caratteri successivi devono essere trattini, lettere minuscole o cifre, ad eccezione dell'ultimo carattere, che non può essere un trattino. |
IPAddress |
✔ | Uno dei seguenti: Gli indirizzi IP per le regole di forwarding di Cloud Service Mesh non devono corrispondere a intervalli di indirizzi IP delle subnet nella rete Virtual Private Cloud (VPC). Per una rete VPC, un indirizzo IP e una porta specifici, puoi avere una sola regola di forwarding autogestita interna. Ad esempio, nella stessa rete VPC, non puoi creare due regole di forwarding che utilizzano l'indirizzo IP e la porta |
IPAddress con un proxy gRPC di destinazione |
Una regola di forwarding che fa riferimento a un proxy gRPC di destinazione con il
campo Un client gRPC che utilizza lo schema Di conseguenza, Cloud Service Mesh utilizza l'indirizzo IP |
|
target |
✔ |
Il proxy di destinazione a cui questa regola di forwarding indirizza il traffico.
Cloud Service Mesh supporta Quando utilizzi la console Google Cloud per configurare la regola di forwarding, il proxy di destinazione viene configurato automaticamente. Quando utilizzi Google Cloud CLI o l'API, il proxy di destinazione deve esistere prima della creazione della 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 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. I pacchetti del protocollo specificato inviati a queste porte vengono inoltrati al backend appropriato.
Puoi specificare un singolo numero di un intervallo, ad esempio Per una rete VPC, un indirizzo IP e una porta specifici, puoi avere una sola regola di forwarding autogestita interna. Ad esempio, nella stessa rete VPC, non puoi creare due regole di forwarding che utilizzano l'indirizzo IP e la porta Con i servizi gRPC senza proxy, la porta nella regola di forwarding corrisponde alla porta specificata nell'URI che un'applicazione gRPC utilizza per connettersi a un servizio. Se nell'URI non è specificata una porta, |
network |
✔ |
Specifica la rete VPC in cui si trovano le VM Google Cloud che eseguono i proxy Envoy. I proxy Envoy leggono la configurazione di Cloud Service Mesh che definisci per la stessa rete in cui viene eseguito il deployment dei proxy. Puoi utilizzare la rete VPC denominata Cloud Service Mesh supporta il bilanciamento del carico per i client solo all'interno della rete Google Cloud. Devi specificare il nome della rete nella regola di forwarding. Il peering di rete VPC non è supportato. |
Aggiungi una regola di forwarding globale
Per scoprire come configurare una regola di forwarding all'interno della configurazione generale di Cloud Service Mesh con le API di bilanciamento del carico, consulta quanto segue:
- Configura Cloud Service Mesh per le VM di Compute Engine con deployment Envoy automatico
- Configura Cloud Service Mesh per le VM di Compute Engine con deployment manuale di Envoy
- Configura Cloud Service Mesh per i pod GKE con inserimento Envoy automatico
- Configura Cloud Service Mesh per i pod GKE con inserimento manuale di Envoy
- Configura Cloud Service Mesh per le VM di Compute Engine e i servizi gRPC senza proxy
- Configura Cloud Service Mesh per i pod GKE e i servizi gRPC senza proxy
Passaggi successivi
- Per utilizzare i filtri di metadati per controllare quali proxy sidecar ricevono la configurazione associata alla regola di forwarding, consulta Impostare il filtro della configurazione in base alla corrispondenza
MetadataFilter
. - Per instradare il traffico, vedi Panoramica delle mappe di regole di routing di Cloud Service Mesh.
- Per scoprire di più su Cloud Service Mesh, consulta la panoramica di Cloud Service Mesh.