Loadbalancer Octavia - este un component al OpenStack care oferă posibilitatea de a distribui sarcina de rețea între mai multe mașini virtuale (VM-uri) sau alte puncte finale în infrastructura dvs. OpenStack. Loadbalancerul poate fi utilizat pentru a distribui traficul între mai multe instanțe ale unei aplicații sau servicii, îmbunătățind performanța, toleranța la erori și scalabilitatea sistemului.
Instanța virtuală care servește ca load balancer în Octavia se numește Amphora. Acesta este creat automat atunci când un load balancer este provisionat, gestionat de Octavia și asigură distribuția eficientă a traficului între servere. Amphora funcționează într-un mediu izolat, asigurând securitatea și izolarea între diferitele load balancere..
Utilizarea Load Balancer Octavia permite îmbunătățirea performanței, toleranței la erori și scalabilității aplicațiilor dvs., oferind echilibrarea sarcinii și reglarea automată a traficului în cloud-ul dvs. OpenStack.
Crearea și configurarea unui load balancer OpenStack în cadrul serviciului Public Cloud (IaaS)
Vom arăta cea mai frecvent utilizată metodă de creare a unui load balancer HTTP cu redirecționare către un URL specific folosind OpenStack Horizon și vom replica aceste acțiuni prin OpenStack CLI.
OpenStack Horizon este o interfață web care oferă acces grafic la funcțiile și resursele OpenStack pentru gestionarea infrastructurii cloud.
Pentru mai multe detalii despre cum să vă autentificați în Horizon, puteți consulta articolul Cum să creați un server virtual în panoul de control Horizon (Openstack)
Pasul 1: Conectați-vă la panoul de control Horizon
Pasul 2: Faceți clic pe fila "Rețea" -> "Load Balancers" -> "Create Load Balancer."
Pasul 3: În fereastra de creare a load balancer-ului, introduceți datele necesare:
1 - Numele Load Balancer-ului: Introduceți numele load balancer-ului
2 - Descrierea Load Balancer-ului: Furnizați o descriere pentru load balancer
3 - Selectați Tipul Instanței: alegeți între două opțiuni 1. Standalone (non-redundant, cu un singur instanță amphora) 2. Active-standby (load balancer redundant cu două instanțe amphora)
4 - Selectați Subrețeaua: Alegeți subrețeaua în care va fi creat load balancer-ul. Este important să existe adrese IP libere în această rețea.
5 - Câmpul "IP address": Puteți lăsa acest câmp gol și un IP va fi alocat din pool-ul de adrese IP al subrețelei specificate. Alternativ, dacă doriți să alocați propriul IP din rețeaua OpenStack, specificați-l.
6 - Creați Listener-ul (Detalii Listener): Specificați numele și protocolul (în cazul nostru, HTTP) -> În următoarea filă "Detalii Pool" în secțiunea "Create Pool," selectați "Nu" (în acest exemplu, un pool nu este necesar) -> Faceți clic pe "Create Load Balancer."
7 - Load balancer-ul este creat. Așteptați ca statusul să devină "Active" în "Provisioning Status" pentru a continua configurarea.
Pasul 4: Configurarea Load Balancer-ului
1 - Adăugăm o regulă L7 pentru listener, care va redirecționa cererea către o altă resursă (redirect).
Selectați load balancer-ul dvs. -> Listeners -> Selectați listener-ul creat (faceți clic pe el)
2 - În fereastra deschisă, mergeți la fila L7 Policies -> Create L7 Policy.
3 - Creăm o politică L7
În fereastra deschisă, specificați:
- Numele politicii
- Descrierea
- Acțiunea (în cazul nostru demonstrativ - REDIRECT_TO_URL)
- Specificați URL-ul de redirecționare
- Poziția va fi setată automat la valoarea 1.
- Faceți clic pe "Create L7 Policy"
Cu aceasta, crearea și configurarea load balancer-ului este finalizată.
Pasul 5: Выполняем проверку с помощью curl
$ curl -I <loadbalancer_ip>
Cererea este redirecționată cu succes.
openstack loadbalancer create --name <loadbalancer> --vip-subnet-id <subnet_id> --description "description"
openstack loadbalancer listener create --protocol HTTP --protocol-port 80 --name <name for listener> <loadbalancer>
openstack loadbalancer l7policy create --action REDIRECT_TO_URL --redirect-url "https://domain.com" --name <name for policy> <listener>
openstack loadbalancer l7rule create --compare-type STARTS_WITH --type PATH --value "/" <policy-name>
Acest set de instrucțiuni oferă o soluție simplă și eficientă pentru crearea unui load balancer HTTP de bază utilizând Octavia. Se recomandă să urmați indicațiile pas cu pas pentru a asigura implementarea corectă și echilibrarea fiabilă a traficului web între serverele dvs..
Pasul 1: Pregătiți platforma de pe care veți gestiona Public Cloud-ul și instalați utilitarul OpenStack.
Acesta poate fi un server virtual gata făcut sau chiar un computer personal.
Puteți face acest lucru folosind instrucție Crearea serverului prin intremediul CLI (liniei de comandă) Openstack
Pasul 2: Crearea unui Load Balancer
Creați un load balancer numit <lb1> care va fi accesibil de pe internet:
openstack loadbalancer create --name <lb1> --vip-subnet-id <public-subnet>
Așteptați ca load balancer-ul să obțină stările ACTIVE și ONLINE.
openstack loadbalancer show <lb1>
Pasul 3: Crearea unui Listener
Creați un listener numit <listener1> care va asculta cererile HTTP pe portul 80:
openstack loadbalancer listener create --name <listener1> --protocol HTTP --protocol-port 80 <lb1>
Pasul 4: Crearea unui Pool
Создайте пул с именем <pool1>, который будет служить пулом по умолчанию для прослушивателя <listener1>.
openstack loadbalancer pool create --name <pool1> --lb-algorithm ROUND_ROBIN --listener <listener1> --protocol HTTP
Pasul 5: Adăugarea Membrilor Pool-ului
Adăugați serverele <192.0.2.10> și <192.0.2.11>, configurate cu o aplicație pe portul 80, în pool-ul <pool1>:
openstack loadbalancer member create --subnet-id <private-subnet> --address 192.0.2.10 --protocol-port 80 <pool1>
openstack loadbalancer member create --subnet-id <private-subnet> --address 192.0.2.11 --protocol-port 80 <pool1>
Pasul 6: Verificați Load Balancer-ul
Puteți verifica load balancer-ul utilizând metoda descrisă mai sus:
$ curl -I <loadbalancer_ip>