Creare un Load Balancer Openstack¶
Questa guida mostra come creare e usare un Load Balancer Openstack. Creeremo due VM, un Load Balancer che bilancerà il carico tra queste due VM, e testeremo il Load Balancer con curl.
Crea le VM¶
Crea due VM nel tuo progetto Openstack tramite la Dashboard o la CLI. Chiamale, per esempio, test-vm-1 e test-vm-2.
Crea un nuovo gruppo di sicurezza che abiliti il traffico di rete sulla porta 80 e associarlo alle VM.
Crea e associa un IP floating a ciascuna VM.
Esegui un server web semplice¶
Esegui un server web su test-vm-1:
ssh ubuntu@<floating-ip-srv1>echo "<html>Questo è SERVER 1</html>" > index.htmlsudo python3 -m http.server 80 &> /dev/null &
Esegui un server web su test-vm-2:
ssh ubuntu@<floating-ip-srv2>echo "<html>Questo è SERVER 2</html>" > index.htmlsudo python3 -m http.server 80 &> /dev/null &
Crea un nuovo Load Balancer (Openstack CLI)
openstack loadbalancer create --name test-lb --vip-subnet-id <subnet-id>openstack loadbalancer listener create --name test-listener --protocol HTTP --protocol-port 80 test-lbopenstack loadbalancer pool create --name test-pool --lb-algorithm ROUND_ROBIN --listener test-listener --protocol HTTPopenstack loadbalancer member create --subnet-id <subnet-id> --address <test-vm-1-private-ip> --protocol-port 80 test-poolopenstack loadbalancer member create --subnet-id <subnet-id> --address <test-vm-2-private-ip> --protocol-port 80 test-pool- Ottieni la porta vip del loadbalancer (vip_port_id) ->
openstack loadbalancer show test-lb - Crea un nuovo ip floating tramite la Dashboard Openstack o la CLI
- Associa l'ip floating precedente alla porta vip del Load Balancer ->
openstack floating ip set --port <vip-port-id> <floating-ip>
Crea un nuovo Load Balancer (Openstack Dashboard)
-
Seleziona Load Balancers dal menu e seleziona + Create Load Balancer.

-
Dai un nome al nuovo load balancer e seleziona la sottorete (deve essere la stessa sottorete di test-vm-1 e test-vm-2).

-
Crea un listener e seleziona il protocollo/porta (HTTP/80 nel nostro caso) su cui il load balancer deve ascoltare.

-
Crea un pool di worker e seleziona un algoritmo di bilanciamento del carico. L'algoritmo scelto determina come il carico di lavoro viene distribuito tra i membri quando arrivano nuove richieste di connessione.

-
Aggiungi membri (test-vm-1 e test-vm-2 nel nostro caso) al nuovo pool, e per ciascuno seleziona l'IP della sottorete e la porta (80 nel nostro caso) del servizio in esecuzione su quell'host.

-
Crea un monitor e seleziona il tipo di servizio (HTTP nel nostro caso) da monitorare su ogni host membro. Clicca su Create Load Balancer per finire.

-
Attendi finché lo Stato Operativo del load balancer diventa Online. Se un membro non è raggiungibile dal load balancer lo Stato Operativo diventa Degraded, in quel caso le richieste vengono instradate ai membri rimanenti.

-
Assegna un Floating IP al nuovo load balancer.

Nota: ora è possibile rimuovere gli ip floating dalle due VM.
Nota: Se il servizio non deve essere visibile da Internet (0.0.0.0/0) crea un gruppo di sicurezza che abiliti il traffico in ingresso dalla rete default o dalla tua rete personalizzata e associalo alle VM altrimenti il load balancer non sarà in grado di inoltrare le richieste ai suoi membri. Il CIDR della regola del gruppo di sicurezza è l'IP della rete (se usi la rete "default" è 192.168.0.0/16).

Testa il Load Balancer -------------------
curl <Load-Balancer-floating-ip>