NSX Load Balancer

Były już wpisy o ESG, a jedną ze składowych jest NSX Load Balancer, na którym skupię się w dzisiejszym wpisie.

Przygotowanie środowiska

Do celów testowych mam już 2 wirtualne maszyny z Photon OS, na którym uruchomię nginx jak kontener – tu trochę zabawy oraz poznanie Dockera. Będą one nam służyły jak serwery do których będziemy balansować ruch.

Nasza konfiguracja będzie wyglądać tak jak na rysunku

Logujemy się do wirtualnej (kroki powtórzymy na drugiej maszynie)

uruchamiamy Dockera

uruchamiamy kontener z nginx z przekierowanie portu 80

przechodzimy do basha na kontenerze

Instalujemy sobie edytor jakiś

Modyfikujemy plik index.html gdzie dodajemy ip serwera

tak wygląda strona po modyfikacji

Powyższe kroki potarzamy na drugim serwerze.

Konfiguracja NSX Load Balancer

Logujemy się do naszego vCenter i przechodzimy do Network & Security a następnie do NSX Edges gdzie wybieramy nasze ESG

Gdzie przechodzimy do Manage –> Settings –> Interfaces

wybieramy nasz uplink i dodajemy secendary adres który posłuży nam jako VIP

po kliknięciu OK przechodzimy do zakładki Load Balancer

gdzie klikamy Edit w prawym rogu i włączamy funkcjonalność Load Balancera

następnie przechodzimy do Application Profiles, gdzie stworzymy profil aplikacji którą będziemy wystawiać przez nasz Load Balancer, nadajemy nazwę profilu oraz typ – naszym przypadku będzie HTTP a mamy do wyboru jeszcze HTTPS,  TCP oraz UDP

w kolejnym kroku przechodzimy do Pools gdzie konfigurujemy naszą pulę serwerów klikając zielony plusik

w nowym oknie nadajemy nazwę pooli, wybieramy Algorytm rozrzucania ruchu po nodach

klikając zaznaczony plusik dodajemy nasze nody do pooli – nadajemy nazwę nodowi, wpisujemy jego IP lub wybieramy obiekt z vCenter – zrobiłem błąd w nazwie i musiałem ją edytować

po edycji nazwy

i dodaniu obu nodów mamy zatwierdzamy naszą pulę serwerów

klikamy ok i przechodzimy do Virtual Servers, gdzie konfigurujemy naszego VIP’a

klikamy zaznaczony plusik, gdzie w nowym oknie

wybieramy nasz profil Application Profile, nadajemy nazwę naszemu profilowi a następnie wybieramy adres VIP klikając na Select IP Address lub wpisujemy go z palca (musi być to adres dodany jako secandary IP w Interfejsach)

w polu Default Pool wybieramy naszą zdefiniowaną wcześniej pulę serwerów

I to był nasz ostatni etap konfiguracji, klikamy OK i przechodzimy do weryfikacji

Weryfikacja

Otwieramy przeglądarkę i otwieramy adres naszego VIP’a -jeżeli wszystko działa powinna otworzyć się strona z któregoś z serwerów

Przechodząc w konsoli naszego ESG do Load Balancere –> Pools klikając na Show Pool Statistics następnie wybierając naszą pulę pojawią się nasze serwery – gdzie zobaczymy, że oba są UP

z poziomu CLI mamy dostępne komendy do weryfikacji naszego Load Balancera

przykładowe wyniki CLI: