VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana

VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana

Pirmā daļa. ievada
Otrā daļa. UgunsmÅ«ra un NAT noteikumu konfigurÄ“Å”ana
TreŔā daļa. DHCP konfigurÄ“Å”ana
Ceturtā daļa. MarÅ”rutÄ“Å”anas iestatÄ«Å”ana

IepriekŔējo reizi mēs runājām par NSX Edge iespējām statiskās un dinamiskās marÅ”rutÄ“Å”anas ziņā, un Å”odien mēs runāsim par slodzes balansētāju.
Pirms sākam iestatÄ«Å”anu, es vēlos Ä«si atgādināt par galvenajiem balansÄ“Å”anas veidiem.

Š¢ŠµŠ¾Ń€Šøя

Visi mÅ«sdienu lietderÄ«gās slodzes balansÄ“Å”anas risinājumi visbiežāk tiek iedalÄ«ti divās kategorijās: balansÄ“Å”ana modeļa ceturtajā (transporta) un septÄ«tajā (pielietojuma) lÄ«menÄ«. OSI. OSI modelis nav labākais atskaites punkts, aprakstot balansÄ“Å”anas metodes. Piemēram, ja L4 balansētājs atbalsta arÄ« TLS izbeigÅ”anu, vai tas kļūst par L7 balansētāju? Bet tas ir tas, kas tas ir.

  • Balansētājs L4 visbiežāk tas ir vidējais starpniekserveris, kas atrodas starp klientu un pieejamo aizmugursistēmu kopu, kas pārtrauc TCP savienojumus (tas ir, neatkarÄ«gi reaģē uz SYN), izvēlas aizmugursistēmu un uzsāk jaunu TCP sesiju tā virzienā, neatkarÄ«gi nosÅ«tot SYN. Å is veids ir viens no pamata veidiem, ir iespējamas arÄ« citas iespējas.
  • Balansētājs L7 sadala trafiku pa pieejamajām aizmugursistēmām ā€œsarežģītākā€ nekā L4 balansētājs. Tā var izlemt, kuru aizmugursistēmu izvēlēties, pamatojoties, piemēram, uz HTTP ziņojuma saturu (URL, sÄ«kfailu utt.).

NeatkarÄ«gi no veida balansētājs var atbalstÄ«t Ŕādas funkcijas:

  • Pakalpojumu atklāŔana ir pieejamo aizmugursistēmu kopas noteikÅ”anas process (statiskais, DNS, konsuls, utt.).
  • Atklāto aizmugursistēmu funkcionalitātes pārbaude (aktÄ«vā aizmugursistēmas ā€œpingā€, izmantojot HTTP pieprasÄ«jumu, pasÄ«va problēmu noteikÅ”ana TCP savienojumos, vairāku 503 HTTP kodu klātbÅ«tne atbildēs utt.).
  • Pati lÄ«dzsvaroÅ”ana (apļa pārbaude, nejauÅ”a atlase, avota IP hash, URI).
  • TLS darbÄ«bas pārtraukÅ”ana un sertifikāta pārbaude.
  • Ar droŔību saistÄ«tas iespējas (autentifikācija, DoS uzbrukumu novērÅ”ana, ātruma ierobežoÅ”ana) un daudz kas cits.

NSX Edge piedāvā atbalstu diviem slodzes līdzsvara izvietoŔanas režīmiem:

Starpniekservera režīms vai vienas rokas režīms. Å ajā režīmā NSX Edge izmanto savu IP adresi kā avota adresi, nosÅ«tot pieprasÄ«jumu uz kādu no aizmugursistēmām. Tādējādi balansētājs vienlaikus veic avota un galamērÄ·a NAT funkcijas. Aizmugursistēma redz visu trafiku, kas tiek nosÅ«tÄ«ta no balansētāja, un reaģē tieÅ”i uz to. Šādā shēmā balansētājam jāatrodas vienā tÄ«kla segmentā ar iekŔējiem serveriem.

Lūk, kā tas notiek:
1. Lietotājs nosūta pieprasījumu uz VIP adresi (balansētāja adresi), kas ir konfigurēta Edge.
2. Edge atlasa vienu no aizmugursistēmām un veic galamērķa NAT, aizstājot VIP adresi ar izvēlētās aizmugursistēmas adresi.
3. Edge veic avota NAT, aizstājot pieprasījumu nosūtījuŔā lietotāja adresi ar savu.
4. Pakotne tiek nosūtīta uz izvēlēto aizmugursistēmu.
5. Aizmugursistēma nereaģē tieÅ”i uz lietotāju, bet gan uz Edge, jo lietotāja sākotnējā adrese ir mainÄ«ta uz balansētāja adresi.
6. Edge nosūta servera atbildi lietotājam.
Diagramma ir zemāk.
VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana

CaurspÄ«dÄ«gs vai iekļauts režīms. Å ajā scenārijā balansētājam ir saskarnes iekŔējos un ārējos tÄ«klos. Tajā paŔā laikā nav tieÅ”as piekļuves iekŔējam tÄ«klam no ārējā. IebÅ«vētais slodzes lÄ«dzsvarotājs darbojas kā NAT vārteja virtuālajām maŔīnām iekŔējā tÄ«klā.

Mehānisms ir Ŕāds:
1. Lietotājs nosūta pieprasījumu uz VIP adresi (balansētāja adresi), kas ir konfigurēta Edge.
2. Edge atlasa vienu no aizmugursistēmām un veic galamērķa NAT, aizstājot VIP adresi ar izvēlētās aizmugursistēmas adresi.
3. Pakotne tiek nosūtīta uz izvēlēto aizmugursistēmu.
4. Aizmugursistēma saņem pieprasÄ«jumu ar lietotāja sākotnējo adresi (avota NAT netika veikts) un tieÅ”i atbild uz to.
5. Trafiku atkal pieņem slodzes balansētājs, jo iekļautajā shēmā tas parasti darbojas kā serveru fermas noklusējuma vārteja.
6. Edge veic avota NAT, lai nosūtītu trafiku lietotājam, izmantojot savu VIP kā avota IP adresi.
Diagramma ir zemāk.
VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana

Prakse

Manā testa stendā ir 3 serveri, kuros darbojas Apache, kas ir konfigurēts darbam, izmantojot HTTPS. Edge veiks HTTPS pieprasÄ«jumu apļveida lÄ«dzsvaroÅ”anu, katru jaunu pieprasÄ«jumu pārsÅ«tot uz jaunu serveri.
Sāksim.

SSL sertifikāta Ä£enerÄ“Å”ana, ko izmantos NSX Edge
Varat importēt derÄ«gu CA sertifikātu vai izmantot paÅ”parakstÄ«tu sertifikātu. Å im testam izmantoÅ”u paÅ”parakstÄ«to.

  1. VCloud Director saskarnē atveriet Edge pakalpojumu iestatījumus.
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana
  2. Dodieties uz cilni Sertifikāti. Darbību sarakstā atlasiet pievienot jaunu CSR.
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana
  3. Aizpildiet obligātos laukus un noklikŔķiniet uz Saglabāt.
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana
  4. Atlasiet jaunizveidoto CSR un atlasiet paŔparakstīŔanas CSR opciju.
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana
  5. Izvēlieties sertifikāta derÄ«guma termiņu un noklikŔķiniet uz Saglabāt
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana
  6. PaŔparakstītais sertifikāts tiek parādīts pieejamo sertifikātu sarakstā.
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana

Lietojumprogrammas profila iestatīŔana
Lietojumprogrammu profili sniedz pilnÄ«gāku kontroli pār tÄ«kla trafiku un padara to vienkārÅ”u un efektÄ«vu. Tos var izmantot, lai noteiktu konkrētu satiksmes veidu uzvedÄ«bu.

  1. Dodieties uz cilni Load Balancer un iespējojiet balansētāju. Å eit esoŔā opcija Paātrinājums iespējots ļauj balansētājam izmantot ātrāku L4 balansÄ“Å”anu, nevis L7.
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana
  2. Dodieties uz cilni Lietojumprogrammas profils, lai iestatītu lietojumprogrammas profilu. NoklikŔķiniet uz +.
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana
  3. Iestatiet profila nosaukumu un atlasiet trafika veidu, kuram profils tiks lietots. Ļaujiet man paskaidrot dažus parametrus.
    NeatlaidÄ«ba ā€“ saglabā un izseko sesijas datus, piemēram: kurÅ” konkrētais serveris pÅ«lā apkalpo lietotāja pieprasÄ«jumu. Tas nodroÅ”ina, ka lietotāju pieprasÄ«jumi tiek novirzÄ«ti vienam un tam paÅ”am pÅ«la dalÄ«bniekam sesijas vai turpmāko sesiju laikā.
    Iespējot SSL caurlaidi ā€“ Ja ir atlasÄ«ta Ŕī opcija, NSX Edge pārtrauc SSL pārtraukÅ”anu. Tā vietā pārtraukÅ”ana notiek tieÅ”i serveros, kas tiek lÄ«dzsvaroti.
    Ievietojiet X-Forwarded-For HTTP galveni ā€“ ļauj noteikt klienta avota IP adresi, kas savienojas ar tÄ«mekļa serveri, izmantojot slodzes balansētāju.
    Iespējot baseina puses SSL ā€“ ļauj norādÄ«t, ka atlasÄ«tais pÅ«ls sastāv no HTTPS serveriem.
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana
  4. Tā kā es lÄ«dzsvaroÅ”u HTTPS trafiku, man ir jāiespējo baseina puses SSL un cilnē Virtuālā servera sertifikāti -> Pakalpojuma sertifikāts jāatlasa iepriekÅ” Ä£enerētais sertifikāts.
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana
  5. Līdzīgi arī kopa sertifikātiem -> pakalpojuma sertifikāts.
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana

Mēs izveidojam serveru pūlu, kura trafika tiks sabalansēta

  1. Dodieties uz cilni Baseini. NoklikŔķiniet uz +.
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana
  2. Iestatām pÅ«la nosaukumu, atlasām algoritmu (izmantoÅ”u round robin) un monitoringa veidu veselÄ«bas pārbaudes aizmugursistēmai Opcija Transparent norāda, vai klientu sākotnējie avota IP ir redzami iekŔējiem serveriem.
    • Ja opcija ir atspējota, iekŔējo serveru trafiks nāk no balansētāja avota IP.
    • Ja opcija ir iespējota, iekŔējie serveri redz klientu avota IP. Å ajā konfigurācijā NSX Edge jādarbojas kā noklusējuma vārtejai, lai nodroÅ”inātu, ka atgrieztās paketes tiek cauri NSX Edge.

    NSX atbalsta Ŕādus balansÄ“Å”anas algoritmus:

    • IP_HASH ā€“ servera izvēle, pamatojoties uz jaucējfunkcijas rezultātiem katras paketes avota un mērÄ·a IP.
    • LEASTKONNA ā€“ ienākoÅ”o savienojumu balansÄ“Å”ana atkarÄ«bā no jau pieejamā skaita konkrētajā serverÄ«. Jauni savienojumi tiks novirzÄ«ti uz serveri ar vismazāko savienojumu.
    • ROUND_ROBIN ā€“ katram serverim pēc kārtas tiek nosÅ«tÄ«ti jauni pieslēgumi atbilstoÅ”i tam pieŔķirtajam svaram.
    • URI ā€“ URI kreisā daļa (pirms jautājuma zÄ«mes) ir sajaukta un dalÄ«ta ar kopējo serveru svaru pÅ«lā. Rezultāts norāda, kurÅ” serveris saņem pieprasÄ«jumu, nodroÅ”inot, ka pieprasÄ«jums vienmēr tiek novirzÄ«ts uz vienu un to paÅ”u serveri, kamēr visi serveri ir pieejami.
    • HTTPHEADER ā€“ balansÄ“Å”ana, pamatojoties uz konkrētu HTTP galveni, ko var norādÄ«t kā parametru. Ja galvenes trÅ«kst vai tai nav vērtÄ«bas, tiek lietots ROUND_ROBIN algoritms.
    • URL ā€” Katrs HTTP GET pieprasÄ«jums meklē URL parametru, kas norādÄ«ts kā arguments. Ja parametram seko vienādÄ«bas zÄ«me un vērtÄ«ba, tad vērtÄ«ba tiek sajaukta un dalÄ«ta ar kopējo strādājoÅ”o serveru svaru. Rezultāts norāda, kurÅ” serveris saņem pieprasÄ«jumu. Å is process tiek izmantots, lai sekotu lietotāju ID pieprasÄ«jumos un nodroÅ”inātu, ka vienam un tam paÅ”am serverim vienmēr tiek nosÅ«tÄ«ts viens un tas pats lietotāja ID, ja vien visi serveri ir pieejami.

    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana

  3. Blokā Dalībnieki noklikŔķiniet uz +, lai pūlam pievienotu serverus.
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana

    Šeit jums jānorāda:

    • servera nosaukums;
    • Servera IP adrese;
    • ports, pa kuru serveris saņems trafiku;
    • osta veselÄ«bas pārbaudei (Monitor healthcheck);
    • svars ā€“ izmantojot Å”o parametru var pielāgot konkrētam pÅ«la dalÄ«bniekam saņemto trafika proporcionālo apjomu;
    • Max Connections ā€“ maksimālais savienojumu skaits ar serveri;
    • Minimālais savienojumu skaits ā€” minimālais savienojumu skaits, kas serverim jāapstrādā, pirms trafika tiek pārsÅ«tÄ«ta nākamajam pÅ«la dalÄ«bniekam.

    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana

    Šādi izskatās galīgais trīs serveru kopums.
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana

Virtuālā servera pievienoŔana

  1. Dodieties uz cilni Virtuālie serveri. NoklikŔķiniet uz +.
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana
  2. Mēs aktivizējam virtuālo serveri, izmantojot Iespējot virtuālo serveri.
    Mēs pieŔķiram tam nosaukumu, atlasām iepriekÅ” izveidoto Lietojumprogrammas profilu, PÅ«lu un norādām IP adresi, uz kuru Virtuālais serveris saņems pieprasÄ«jumus no ārpuses. Mēs norādām HTTPS protokolu un 443. portu.
    Izvēles parametri Å”eit:
    Savienojuma ierobežojums ā€“ maksimālais vienlaicÄ«gu savienojumu skaits, ko virtuālais serveris var apstrādāt;
    Savienojuma ātruma ierobežojums (CPS) ā€“ maksimālais jaunu ienākoÅ”o pieprasÄ«jumu skaits sekundē.
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana

Tas pabeidz balansētāja konfigurāciju; jÅ«s varat pārbaudÄ«t tā funkcionalitāti. Serveriem ir vienkārÅ”a konfigurācija, kas ļauj saprast, kurÅ” serveris no pÅ«la apstrādāja pieprasÄ«jumu. IestatÄ«Å”anas laikā mēs izvēlējāmies Round Robin balansÄ“Å”anas algoritmu, un svara parametrs katram serverim ir vienāds ar vienu, tāpēc katru nākamo pieprasÄ«jumu apstrādās nākamais serveris no pÅ«la.
Pārlūkprogrammā ievadām balansētāja ārējo adresi un redzam:
VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana

Pēc lapas atsvaidzināŔanas pieprasÄ«jumu apstrādās Ŕāds serveris:
VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana

Un atkal - lai pārbaudītu treŔo serveri no baseina:
VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana

Pārbaudot, jÅ«s varat redzēt, ka sertifikāts, ko Edge mums nosÅ«ta, ir tas pats, ko mēs Ä£enerējām paŔā sākumā.

Balsotāja statusa pārbaude no Edge vārtejas konsoles. Lai to izdarÄ«tu, ievadiet parādÄ«t servisa slodzes balansÄ“Å”anas baseinu.
VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana

Service Monitor konfigurÄ“Å”ana, lai pārbaudÄ«tu pÅ«lā esoÅ”o serveru statusu
Izmantojot Service Monitor, mēs varam pārraudzīt serveru statusu aizmugures pūlā. Ja atbilde uz pieprasījumu nav tāda, kā gaidīts, serveri var izņemt no pūla, lai tas nesaņemtu jaunus pieprasījumus.
Pēc noklusējuma ir konfigurētas trīs verifikācijas metodes:

  • TCP monitors,
  • HTTP monitors,
  • HTTPS monitors.

Izveidosim jaunu.

  1. Dodieties uz cilni Pakalpojuma uzraudzība, noklikŔķiniet uz +.
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana
  2. Izvēlieties:
    • jaunās metodes nosaukums;
    • intervāls, kādā tiks nosÅ«tÄ«ti pieprasÄ«jumi,
    • noildze gaidot atbildi,
    • uzraudzÄ«bas veids ā€“ HTTPS pieprasÄ«jums, izmantojot GET metodi, paredzamais statusa kods ā€“ 200(OK) un pieprasÄ«juma URL.
  3. Tas pabeidz jaunā Service Monitor iestatÄ«Å”anu; tagad mēs varam to izmantot, veidojot pÅ«lu.
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana

PieteikŔanās noteikumu iestatīŔana

Lietojumprogrammas noteikumi ir veids, kā manipulēt ar trafiku, pamatojoties uz noteiktiem aktivizētājiem. Izmantojot Å”o rÄ«ku, mēs varam izveidot papildu slodzes lÄ«dzsvaroÅ”anas noteikumus, kas var nebÅ«t iespējami, izmantojot lietojumprogrammu profilus vai citus pakalpojumus, kas pieejami Edge Gateway.

  1. Lai izveidotu kārtulu, atveriet balansētāja cilni Lietojumprogrammas noteikumi.
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana
  2. Atlasiet nosaukumu, skriptu, kas izmantos kārtulu, un noklikŔķiniet uz Saglabāt.
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana
  3. Kad kārtula ir izveidota, mums ir jārediģē jau konfigurētais virtuālais serveris.
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana
  4. Cilnē Papildu pievienojiet mūsu izveidoto kārtulu.
    VMware NSX mazajiem. 5. daļa: Slodzes balansētāja konfigurÄ“Å”ana

IepriekÅ” minētajā piemērā mēs iespējojām tlsv1 atbalstu.

Vēl pāris piemēri:

Pārvirzīt trafiku uz citu baseinu.
Izmantojot Å”o skriptu, mēs varam novirzÄ«t trafiku uz citu balansÄ“Å”anas pÅ«lu, ja galvenais pÅ«ls nedarbojas. Lai kārtula darbotos, balansētājā ir jākonfigurē vairāki pÅ«li, un visiem galvenā pÅ«la dalÄ«bniekiem ir jābÅ«t izslēgtā stāvoklÄ«. Ir jānorāda kopas nosaukums, nevis tā ID.

acl pool_down nbsrv(PRIMARY_POOL_NAME) eq 0
use_backend SECONDARY_POOL_NAME if PRIMARY_POOL_NAME

Pārvirzīt trafiku uz ārēju resursu.
Šeit mēs novirzām trafiku uz ārējo vietni, ja visi galvenā pūla dalībnieki nedarbojas.

acl pool_down nbsrv(NAME_OF_POOL) eq 0
redirect location http://www.example.com if pool_down

Vēl vairāk piemēru Å”eit.

Tas man viss par balansieri. Ja ir kādi jautājumi, jautājiet, esmu gatavs atbildēt.

Avots: www.habr.com

Pievieno komentāru