Panoramica del bilanciamento del carico per Google Distributed Cloud

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.