Panoramica del bilanciamento del carico per Google Distributed Cloud

Questo documento illustra le opzioni di bilanciamento del carico supportate da Google Distributed Cloud.

Sono disponibili due opzioni di bilanciamento del carico. Scegli l'opzione che sembra più adatta al tuo ambiente e alle tue esigenze. Ad esempio, potresti scegliere un'opzione che richiede una configurazione minima. Oppure potresti scegliere un'opzione in linea con i bilanciatori del carico già presenti nella tua rete.

Di seguito sono riportate le opzioni disponibili:

  • MetalLB in bundle

  • Bilanciamento del carico manuale per qualsiasi bilanciatore del carico di terze parti, ad esempio F5 BIG-IP Citrix

MetalLB

Il bilanciatore del carico MetalLB è integrato in Google Distributed Cloud ed è particolarmente facile da configurare. I componenti MetalLB vengono eseguiti sui nodi del cluster, quindi non devi creare VM separate per il bilanciatore.

Puoi configurare MetalLB per eseguire la gestione degli indirizzi IP. Ciò significa che quando uno sviluppatore crea un servizio di tipo LoadBalancer, non deve specificare un VIP per il servizio. Invece, MetalLB sceglie automaticamente un VIP da un pool di indirizzi che fornisci in anticipo.

Per ulteriori informazioni, consulta Bilanciamento del carico in bundle con MetalLB.

Citrix

Come esempio di configurazione manuale del bilanciatore del carico di Citrix, illustriamo come configurare il bilanciatore del carico. Con qualsiasi bilanciatore del carico impostato manualmente, devi configurare le mappature tra VIP, indirizzi dei nodi e valori nodePort. Per informazioni su come eseguire questa operazione per il bilanciatore del carico Citrix, consulta Bilanciamento del carico manuale con Citrix.

Bilanciamento del carico manuale in generale

Puoi utilizzare qualsiasi bilanciatore del carico di tua scelta, purché lo configuri manualmente. Con qualsiasi bilanciatore del carico impostato manualmente, devi configurare le mappature tra VIP, indirizzi dei nodi e valori nodePort. Per informazioni generali su come eseguire questa operazione, consulta Bilanciamento del carico manuale.

Mettere da parte gli indirizzi IP virtuali

Indipendentemente dal bilanciatore del carico utilizzato, devi riservare diversi indirizzi IP virtuali (VIP) che intendi utilizzare per il bilanciamento del carico.

Per il cluster di amministrazione, devi escludere questi VIP:

  • VIP per il server API Kubernetes
  • VIP per i componenti aggiuntivi

Per ogni cluster utente che intendi creare, devi escludere questi VIP:

  • VIP per il server API Kubernetes
  • VIP per il servizio in entrata

Ad esempio, supponiamo che tu voglia avere due cluster utente. Quindi, avrai bisogno di due VIP per il cluster di amministrazione e di due VIP per ciascuno dei cluster utente. Dovresti quindi riservare sei VIP.

Indirizzi IP dei nodi

Se scegli MetalLB come bilanciatore del carico, puoi utilizzare indirizzi IP statici per i nodi del cluster o fare in modo che i nodi del cluster ricevano gli indirizzi IP da un server DHCP

Se scegli un'opzione di bilanciamento del carico manuale, devi utilizzare indirizzi IP statici per i nodi del cluster.

Se scegli di utilizzare indirizzi IP statici, devi riservare un numero sufficiente di indirizzi per i nodi nel cluster di amministrazione e per i nodi in tutti i cluster utente che intendi creare. Per maggiori dettagli sul numero di indirizzi IP dei nodi da escludere, consulta Pianificare gli indirizzi IP.

Creazione di servizi nel cluster

Quando il cluster utente è in esecuzione, gli sviluppatori di applicazioni potrebbero voler creare i servizi Kubernetes ed esporli a client esterni.

Per i servizi di tipo LoadBalancer, i VIP devono essere configurati nel bilanciatore del carico. Il modo in cui vengono configurati i VIP dipende dalla scelta del bilanciatore del carico.

MetalLB

Nel file di configurazione del cluster utente, specifichi i pool di indirizzi che il controller MetalLB utilizza per assegnare VIP ai servizi. Quando uno sviluppatore crea un servizio di tipo LoadBalancer, il controller MetalLB sceglie un indirizzo da un pool e assegna l'indirizzo al servizio. Lo sviluppatore non deve specificare un valore per loadBalancerIP nel file manifest del servizio.

Bilanciatore del carico configurato manualmente

Se hai scelto un'opzione di bilanciamento del carico manuale, gli sviluppatori possono seguire questi passaggi per esporre un servizio ai client esterni:

  • Creare un servizio di tipo NodePort.

  • Scegli un VIP per il servizio.

  • Configura manualmente il bilanciatore del carico in modo che il traffico inviato al VIP sia inoltrato al servizio.