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. In alternativa, puoi scegliere un'opzione in linea con i bilanciatori del carico già presenti nella tua rete.
Ecco le opzioni disponibili:
MetalLB incluso
Bilanciamento del carico manuale per qualsiasi bilanciatore del carico di terze parti, ad esempio F5 BIG-IP Citrix
MetalLB
Il bilanciatore del carico MetalLB è in bundle con 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 del carico.
Puoi configurare MetalLB per eseguire la gestione degli indirizzi IP. Ciò significa che quando un sviluppatore crea un servizio di tipo LoadBalancer
, non deve specificare un VIP per il servizio. MetalLB sceglie invece automaticamente un VIP da un
pool di indirizzi che fornisci in anticipo.
Per ulteriori informazioni, consulta la sezione Bilanciamento del carico in bundle con MetalLB.
Citrix
Documentiamo la configurazione del bilanciatore del carico Citrix come esempio di configurazione manualmente di un bilanciatore del carico. Con qualsiasi bilanciatore del carico configurato 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 a tua scelta, purché lo configuri manualmente.
Con qualsiasi bilanciatore del carico configurato 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.
Prenotazione di 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 riservare questi VIP:
- VIP per il server API Kubernetes
- VIP per i componenti aggiuntivi
Per ogni cluster utente che intendi creare, devi riservare questi VIP:
- VIP per il server API Kubernetes
- VIP per il servizio in entrata
Ad esempio, supponiamo che tu intenda avere due cluster di utenti. In questo caso, avrai bisogno di due VIP per il cluster di amministrazione e di due VIP per ogni cluster utente. Quindi dovresti mettere da parte sei VIP.
Indirizzi IP del nodo
Se scegli MetalLB come bilanciatore del carico, puoi utilizzare indirizzi IP statici per i nodi del cluster oppure puoi fare in modo che i nodi del cluster ricevano i propri 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 indirizzi sufficienti per i nodi del cluster di amministrazione e per i nodi di tutti i cluster utente che intendi creare. Per informazioni dettagliate sul numero di indirizzi IP dei nodi da riservare, consulta Pianifica gli indirizzi IP.
Creazione di servizi nel cluster
Dopo l'esecuzione del cluster di utenti, gli sviluppatori di applicazioni potrebbero voler creare servizi Kubernetes e esporli ai client esterni.
Per i servizi di tipo LoadBalancer
, i VIP devono essere configurati sul bilanciatore del carico. La modalità di configurazione di questi VIP dipende dalla scelta del bilanciatore del carico.
MetalLB
Nel file di configurazione del cluster utente, specifica i pool di indirizzi utilizzati dal controller MetalLB per assegnare i VIP ai servizi. Quando uno sviluppatore crea un servizio di tipo LoadBalancer
, il controller MetalLB sceglie un indirizzo da un pool e lo assegna 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 a client esterni:
Crea un servizio di tipo NodePort.
Scegli un VIP per il servizio.
Configura manualmente il bilanciatore del carico in modo che il traffico inviato all'IP virtuale venga inoltrato al servizio.