Questo documento spiega 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, potresti scegliere un'opzione che richiede una configurazione minima. In alternativa, potresti scegliere un'opzione che si allinea ai 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, come F5 BIG-IP Citrix
Quando crei cluster utente utilizzando la Google Cloud console, 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, nel qual caso i cluster utente possono utilizzare MetalLB. Se vuoi che i cluster di amministrazione e utente utilizzino tipi diversi di bilanciatori del carico, devi creare cluster utente utilizzando lo strumento a riga di comando gkectl.
MetalLB
Il bilanciatore del carico MetalLB è incluso 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 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, consulta 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, consulta
Bilanciamento del carico manuale con Citrix.
Bilanciamento del carico manuale in generale
Puoi utilizzare qualsiasi bilanciatore del carico di 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, consulta
Bilanciamento del carico manuale.
Riservare indirizzi IP virtuali
Indipendentemente dal bilanciatore del carico che utilizzi, devi riservare diversi indirizzi IP virtuali (VIP) che intendi utilizzare per il bilanciamento del carico.
Per il cluster di amministrazione, devi riservare i seguenti VIP:
- VIP per il server API Kubernetes
- VIP per gli add-on
Per ogni cluster utente che intendi creare, devi riservare i seguenti VIP:
- VIP per il server API Kubernetes
- VIP per il servizio in entrata
Supponiamo, ad esempio, di voler avere due cluster utente. Avrai bisogno di due VIP per il cluster di amministrazione e due VIP per ciascuno dei cluster utente. Quindi dovrai riservare sei VIP.
Indirizzi IP dei nodi
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 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 di indirizzi sufficiente per i nodi del cluster di amministrazione e i nodi di tutti i cluster utente che intendi creare. Per informazioni dettagliate su quanti indirizzi IP dei nodi riservare, consulta Pianificare gli indirizzi IP.
Creare servizi nel cluster
Dopo che il cluster utente è in esecuzione, 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 dalla scelta del bilanciatore del carico.
MetalLB
Nel file di configurazione del cluster utente, specifichi 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 al VIP venga inoltrato al servizio.