Questo documento descrive le opzioni di bilanciamento del carico supportate da Google Distributed Cloud per i nuovi cluster.
Sono disponibili due opzioni di bilanciamento del carico. Scegli l'opzione che ti sembra più adatta al tuo ambiente e alle tue esigenze. Ad esempio, puoi scegliere un'opzione che richiede una configurazione minima. Oppure puoi scegliere un'opzione in linea con i bilanciatori del carico già presenti nella tua rete.
Le opzioni disponibili sono:
MetalLB in bundle
Bilanciamento del carico manuale per qualsiasi bilanciatore del carico di terze parti, ad esempio F5 BIG-IP Citrix
Quando crei cluster utente utilizzando la console Google Cloud , gcloud CLI o Terraform, il tipo di bilanciatore del carico per il cluster di amministrazione e i relativi cluster utente deve essere lo stesso. L'unica eccezione è se il
cluster di amministrazione utilizza Seesaw, i cluster utente possono utilizzare MetalLB. Se vuoi che i cluster di amministrazione e utente utilizzino diversi tipi di bilanciatori del carico, devi creare i cluster utente utilizzando lo strumento a riga di comando gkectl
.
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
uno sviluppatore crea un servizio di tipo LoadBalancer
, non deve specificare
un VIP per il servizio. MetalLB sceglie automaticamente un VIP da un pool di indirizzi che fornisci in anticipo.
Per ulteriori informazioni, vedi Bilanciamento del carico in bundle con MetalLB.
Citrix
Documentiamo come configurare il bilanciatore del carico Citrix come esempio di configurazione
manuale di un bilanciatore del carico. Con qualsiasi bilanciatore del carico configurato manualmente, devi
configurare i mapping tra VIP, indirizzi dei nodi e valori nodePort
.
Per informazioni su come eseguire questa operazione per il bilanciatore del carico Citrix, vedi
Bilanciamento del carico manuale con Citrix.
Bilanciamento del carico manuale in generale
Puoi utilizzare qualsiasi bilanciatore del carico a tua scelta, a condizione che lo configuri manualmente.
Con qualsiasi bilanciatore del carico configurato manualmente, devi configurare i mapping
tra VIP, indirizzi dei nodi e valori nodePort
. Per informazioni generali su
come eseguire questa operazione, vedi
Bilanciamento del carico manuale.
Riservare indirizzi IP virtuali
Indipendentemente dal bilanciatore del carico che utilizzi, devi mettere da parte 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 di voler avere due cluster di utenti. Avrai quindi bisogno di due VIP per il cluster di amministrazione e due VIP per ciascuno dei cluster utente. Pertanto, dovrai mettere da parte sei VIP.
Indirizzi IP del nodo
Se scegli MetalLB come bilanciamento del carico, puoi utilizzare indirizzi IP statici per i nodi del cluster oppure puoi fare in modo che i nodi del cluster ottengano 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 un numero sufficiente di indirizzi per i nodi nel cluster di amministrazione e nei nodi di tutti i cluster utente che intendi creare. Per informazioni dettagliate su quanti indirizzi IP dei nodi riservare, consulta Pianifica gli indirizzi IP.
Creazione di servizi nel cluster
Una volta in esecuzione il cluster utente, gli sviluppatori di applicazioni potrebbero voler creare servizi Kubernetes ed esporli a 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 dal bilanciatore del carico scelto.
MetalLB
Nel file di configurazione del cluster utente, specifica 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 lo assegna al servizio. Lo sviluppatore non deve
specificare un valore per loadBalancerIP
nel 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 al VIP venga inoltrato al servizio.