Configura la modalità di inoltro del bilanciamento del carico

Questo documento descrive le due modalità di forwarding di Dataplane V2 per il bilanciamento del carico e come abilitarle per Google Distributed Cloud. Dataplane V2 supporta due modalità di forwarding per il bilanciamento del carico:

  • Network Address Translation (SNAT) di origine
  • Ritorno diretto del server (DSR)

La modalità di inoltro per il bilanciamento del carico può essere configurata quando crei un solo nel cluster.

Bilanciamento del carico SNAT

SNAT (Source Network Address Translation) è la modalità di inoltro predefinita per Bilanciamento del carico Dataplane V2. Tuttavia, in modalità SNAT, l'indirizzo IP client non corrisponde vengono conservati per i pod di backend. Quando il pacchetto dal client arriva al caricamento viene tradotto e inoltrato al nodo worker di destinazione con il pod di backend. Il pod di backend vede che la richiesta proviene dal carico anziché dalla località del client. Di conseguenza, la risposta è al nodo del bilanciatore del carico e invertiti, quindi tradotti e restituiti di alto profilo.

Flusso di pacchetti per SNAT

Con la modalità di forwarding SNAT per il bilanciamento del carico di Dataplane V2, ecco il pacchetto il flusso da un client esterno a un pod di backend e viceversa:

  • Il servizio di tipo LoadBalancer è assegnato a un nodo del bilanciatore del carico e al suo IP l'indirizzo 172.16.20.16 è pubblicizzato dall'altoparlante MetalLB in esecuzione nodo.

  • Dataplane V2 traduce l'indirizzo IP e la porta di origine con SNAT in <LB_NODE_IP>:52000 e inoltra il pacchetto al nodo worker.

  • La risposta viene inviata al nodo del bilanciatore del carico e alla destinazione viene tradotto inverso.

Il seguente diagramma mostra il flusso di pacchetti per la modalità SNAT:

Flusso di pacchetti per il bilanciamento del carico di Dataplane V2 in modalità SNAT

Bilanciamento del carico DSR

La funzione Direct Server Return (DSR) consente di risolvere i problemi relativi al bilanciamento del carico SNAT. In DSR , il nodo del bilanciatore del carico utilizza le opzioni IP per salvare l'indirizzo di origine del client. Il nodo worker può recuperare il pacchetto originale e inoltrarlo al backend all'interno del pod. Il pod di backend può vedere che il pacchetto proviene dall'indirizzo IP del client anziché l'indirizzo IP del nodo del bilanciatore del carico. Di conseguenza, il pacchetto restituito torna direttamente all'indirizzo IP del client invece di tornare al carico con il nodo del bilanciatore.

Questa modalità non solo risolve il problema di visibilità degli indirizzi IP del client, ma la larghezza di banda per il nodo del bilanciatore del carico. Il traffico di ritorno non deve necessariamente attraversano il nodo del bilanciatore del carico, che non deve eseguire il monitoraggio della connessione. Questo approccio consente di risparmiare memoria e liberare le risorse di inoltro una porta. Per i carichi di lavoro asimmetrici, dove il traffico di download è molto più elevato di traffico delle richieste, il flusso DSR riduce significativamente la larghezza di banda.

Flusso di pacchetti per DSR

Con la modalità di forwarding DSR per il bilanciamento del carico di Dataplane V2, ecco il flusso dei pacchetti da un client esterno a un pod di backend e viceversa:

  • Il servizio di tipo LoadBalancer è assegnato al nodo del bilanciatore del carico e al suo L'indirizzo IP 172.16.20.16 è pubblicizzato dallo speaker MetalLB in esecuzione su su quel nodo.

  • Dataplane V2 inoltra il pacchetto al nodo worker e utilizza le opzioni IP per salvare la porta e l'indirizzo IP di origine del client originali.

  • Dataplane V2 sul nodo worker inoltra il pacchetto al pod di backend.

  • Il pod di backend recupera l'indirizzo IP e la porta di origine e risponde di alto profilo.

Il seguente diagramma mostra il flusso di pacchetti per la modalità DSR:

Flusso di pacchetti per il bilanciamento del carico di Dataplane V2 in modalità SNAT

Attiva modalità DSR

Per attivare la modalità DSR, aggiungi il metodo spec.clusterNetwork.forwardMode al file di configurazione del cluster e impostalo su dsr. Come osservato in precedenza, La modalità SNAT è abilitata per impostazione predefinita. Puoi specificare esplicitamente la modalità SNAT impostando Da forwardMode a snat. La modalità di forwarding per il bilanciamento del carico di Dataplane V2 può solo al momento della creazione del cluster.

apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
  name: lb-mode
  namespace: cluster-lb-mode
  ...
spec:

  clusterNetwork:
    forwardMode: dsr # valid options are dsr or snat
    pods:
      cidrBlocks:
      - 192.168.0.0/16
    services:
      cidrBlocks:
      - 10.96.0.0/20
...

Il valore forwardMode non può essere modificato dopo la creazione del cluster. Assicurati di avere configurato l'opzione corretta per le tue esigenze prima di creare il cluster.