Load Balancer ako služba (LBaaS) je natívne integrovaná do OpenStacku. Umožňuje projektom sprístupniť aplikácie vysoko dostupným spôsobom bez potreby nasadzovať a prevádzkovať vlastný load-balancer.
Typické prípady použitia zahŕňajú load-balancing HTTP/HTTPS trafficu medzi viacerými webovými servermi, distribúciu API requestov pre bezstavové služby alebo vyvažovanie databázových spojení pre clusterované backendy, napríklad MySQL Galera. Umiestnením load balancera pred viacero inštancií sa zvyšuje dostupnosť, umožňuje horizontálne škálovanie a znižuje sa výpadok počas údržby alebo zlyhania inštancií.
V tomto prípade je Load Balancer použitý ako jeden vstupný bod pre externých klientov, ktorý smeruje prevádzku na dve backendové webové serverové inštancie v internej sieti. Load balancer distribuuje prichádzajúce spojenia medzi oba webové servery, čím zabezpečuje vyššiu dostupnosť služby a rovnomerné rozloženie záťaže. Pri výpadku jedného servera je prevádzka automaticky presmerovaná na zostávajúci funkčný backend.
Terminológia (špecifické pojmy VDC)
Load Balancer
Load Balancer je nadradený objekt reprezentujúci virtuálny vstupný bod pre sieťovú prevádzku. Má jednu alebo viac virtuálnych IP adries (VIP) v tenant sieti a je zodpovedný za prijímanie prichádzajúcich spojení a ich distribúciu na backendové servery.
Listener
Listener definuje, ako load balancer prijíma prichádzajúcu prevádzku. Určuje protokol (napríklad TCP, HTTP, HTTPS) a port, na ktorom load balancer počúva. Každý listener je viazaný presne na jeden load balancer.
Pool
Pool predstavuje skupinu backendových serverov (memberov), ktoré prijímajú prevádzku od listenera. Pool zároveň definuje algoritmus vyvažovania záťaže, napríklad round-robin alebo least connections.
Member
Member je konkrétny backendový koncový bod v poole. Typicky ide o IP adresu a port virtuálnej inštancie, napríklad webový server počúvajúci na porte 443.
Health Monitor
Health monitor pravidelne kontroluje, či sú memberi v poole dostupní a funkční. Memberi, ktorí neprejdú kontrolou, sú automaticky vyradení z distribúcie prevádzky, kým sa neobnovia.
Prehľad architektúry pre tento návod
Tento návod popisuje jednoduchý a bežný scenár:
- jeden Load balancer
- dve (už nainštalované) backendové webové serverové inštancie v default-network sieti
- listener používa protokol HTTP
- load balancer používa Floating IP pre externý prístup
Vytvorenie Load Balancera pomocou WebGUI
Vo VDC sa Load Balancer vytvára pomocou sprievodcu (wizard), ktorý vyžaduje definovanie všetkých základných komponentov naraz. Nie je možné vytvoriť samotný Load Balancer bez listenera, poolu a health monitoru.
Sprievodca pozostáva z nasledujúcich krokov:
- Load Balancer Details
- Listener Details
- Pool Details
- Pool Members
- Monitor Details

Load Balancer Details
V tomto kroku sa definuje základná konfigurácia load balancera a jeho umiestnenie v sieti.
Vyplňte nasledovné polia:
- Name: ľubovoľný názov, napr.
web-lb - IP address: ponechajte prázdne (IP bude pridelená automaticky)
- Description: voliteľné
- Availability Zone: ponechajte prázdne
- Flavor: ponechajte prázdne
- Subnet: vyberte subnet nachádzajú backendové webové servery, typicky “default network”
- Admin State Up: YES
Po vyplnení kliknite na Next.

Listener Details
V tomto kroku sa definuje, ako load balancer prijíma prichádzajúcu prevádzku.
Pre HTTP scenár nastavte:
- Name: napr. http-80-listener
- Description: voliteľné
- Protocol: HTTP
- Port: 80
- Admin State Up: YES
Kliknite na Next.

Pool Details
Pool definuje skupinu backendových serverov a spôsob distribúcie prevádzky.
Nastavte:
- Name: napr.
web-backend-pool - Description: voliteľné
- Algorithm: ROUND_ROBIN
- Session Persistence: HTTP_COOKIE
- TLS Enabled: NO
- Admin State Up: YES
Kliknite na Next.

Pool Members (Backend webové servery)
V tomto kroku sa pridávajú jednotlivé backendové inštancie.
Pridajte minimálne dvoch memberov (dva webové servery) a nastavte pre nich
- Name: web-backend-monitor
- Type: http
- Port: 80
- Weight: 1 (ponechajte predvolenú hodnotu)
Potom kliknite na Next.

Monitor Details (Health Monitor)
Health monitor zabezpečuje, že prevádzka je smerovaná len na funkčné backendy.
Odporúčané nastavenie:
- Name: napr.
web-health-monitor - Description: voliteľné
- Type: HTTP
- Delay: 5 sekúnd
- Timeout: 3 sekundy
- Max Retries / Max Retries Down : 3
- Admin State Up: YES
Kliknite na Create Load Balancer.

Priradenie (verejnej) floating IP
Počkajte, kým sa operational status Load Balanceru zmení na Online a provisioning status na Active. Tieto stavy indikujú, že load balancer je plne funkčný a pripravený na ďalšie operácie.
Po úspešnom vytvorení Load Balanceru je potrebné priradiť Floating IP adresu, aby bol load balancer dostupný z externých sietí.
Na pravej strane príslušného riadku kliknite na rozbaľovacie menu (ikona s tromi bodkami alebo šípkou). Z ponuky zvoľte možnosť Associate Floating IP.

Následne sa otvorí dialógové okno, v ktorom môžete vybrať už existujúcu Floating IP adresu z verejnej (external) siete. Po výbere Floating IP potvrďte akciu, čím sa adresa priradí k VIP portu Load Balancera.

Overenie funkčnosti
V tomto scenári load balancer vystupuje ako jednotný verejný vstupný bod aplikácie, ktorý je sprístupnený pomocou Floating IP adresy. Prichádzajúca prevádzka je následne distribuovaná na dva backendové webové servery v internej sieti, čím je zabezpečená vysoká dostupnosť služby a odolnosť voči výpadku jednej inštancie.
Funkčnosť riešenia sa overuje prístupom na pridelenú Floating IP adresu v webovom prehliadači, kde sa potvrdí správne smerovanie prevádzky a dostupnosť aplikácie.
V prípade potreby sledujte stav v stĺpcoch Operating Status a Provisioning Status
