Jak skalować pojemniki Docker za pomocą Nginx jako równoważenia obciążenia i odwrotnego proxy

Jak skalować pojemniki Docker za pomocą Nginx jako równoważenia obciążenia i odwrotnego proxy
Docker Scaling jest jedną z podstawowych cech platformy Docker. Pozwala nam wykonywać różne kopie lub repliki kontenerów lub usług Docker. Docker-Compose to rozwiązanie, które pomaga nam zarządzać aplikacjami i mikrousługami wielu kontaktów.

Podczas skalowania dowolnej usługi w Docker Compose, może to pokazać konflikt, że port wiążący zostanie przydzielony tylko do jednej usługi. Istnieje wiele sposobów rozwiązania określonego problemu, ale równoważenie obciążenia jest jednym z najskuteczniejszych podejść do zarządzania ruchem z różnych kontenerów.

Ten blog pokaże, jak skalować pojemnik Docker za pomocą Nginx jako balansu obciążenia i odwrotnego proxy.

Jak skalować pojemniki Docker za pomocą Nginx jako równoważenia obciążenia i odwrotnego proxy?

Balancer obciążenia zarządza i rozpowszechnia ruch na serwerze z kontenerów. Zwiększa niezawodność, zdolność i dostępność aplikacji i usług. Ponieważ repliki kontenerów są wykonywane w tej samej sieci w stosunku do tego samego protokołu, które mogą powodować konflikt, na przykład ujawnienie błędów portów. W tym celu można wykorzystać do rozdzielania ruchu usług skalowania za pomocą okrągłego robina lub innych technik routingu można wykorzystać do rozdzielania ruchu usługi skalowania lub innych technik routingu.

Aby zarządzać usługami skalowania za pomocą Nginx jako równoważenia obciążenia, przejrzyj instrukcje.

Krok 1: Zrób DockerFile

Najpierw utwórz plik docker, aby pojemnik. W tym celu określiliśmy instrukcje, aby dokeryzować „główny.Iść„Program Golang:

Od Golang: 1.8
WorkDir/Go/Src/App
Kopiuj główny.Iść .
RUN GO BUDLE -O WEBSERVER .
PUNKT WEJŚCIA ["./serwer internetowy"]

Krok 2: Utwórz „kompozycję dokera.plik yml ”

Następnie stwórz „Kompozycja dokera.yml”Plik i skopiuj podane instrukcje do pliku. Te instrukcje zawierają:

  • "usługi„Klucz do skonfigurowania usługi. Na przykład skonfigurowaliśmy „sieć”Służba i„nginx" praca. Tutaj "nginx„Usługa działa jako równowaga obciążenia do zarządzania ruchem skalowania usługi„ Web ”.
  • "zbudować„Klucz pokazuje, że usługa„ Web ”będzie korzystać.
  • Nie ma potrzeby dostarczania portu eksponującego do „sieć„Obsługa, jak zarządza nią równowaga obciążenia Nginx.
  • "wolumeny”Służy do powiązania„conf”Plik do ścieżki kontenera:
  • "zależy od”Jest wykorzystywany do określenia zależności między usługami komponowania.
  • "porty”Służy do określenia portu ujawniającego usługę Nginx, w której usługi skalowania są zarządzane za pomocą techniki routingu:
Wersja: „Alpine”
Usługi:
sieć:
zbudować: .
nginx:
Zdjęcie: nginx: najnowszy
wolumeny:
- ./nginx.conf:/etc/nginx/nginx.CONF: RO
zależy od:
- sieć
Porty:
- 8080: 8080

Krok 3: Zrób „nginx.plik conf ”

Następnie zrób „nginx.conf”Plik do użycia„nginx”Jako równoważenie obciążenia i odwrotne proxy. W tym celu określliśmy wymienione instrukcje w pliku:

  • "WSZYSTKO”Definiuje usługi upstream. Tutaj zdefiniowaliśmy „sieć„Usługa oczekuje się ujawnienia w porcie 8080.
  • W "serwer„Wsporniki dostarczyliśmy portu odsłuchu NGINX LOAD”8080”I zdefiniował proxy„http: // all/„Aby zarządzać usługą Upstream:
użytkownik nginx;
wydarzenia
robotnik_connections 1000;

http
Upstream All
Serwer Web: 8080;

serwer
Posłuchaj 8080;
Lokalizacja /
proxy_pass http: // all/;


Krok 4: skal usług i odpal pojemniki

Następnie skal i uruchom usługę, wykorzystując „-skala„Opcja z„Komposowanie dokera" Komenda. Na przykład rozpoczęliśmy dwie repliki „sieć" praca:

Docker -Compose Up -Scale Web = 2

Następnie poruszaj się po usłudze Nginx, odsłaniając port i sprawdź, czy akceptuje to strumień z „sieć„Usługa czy nie. Odśwież stronę, aby przełączyć między wyjściami usług skalowania lub replik przy użyciu „nginx„Balancer obciążenia:

Chodzi o to, jak skalować pojemnik Docker za pomocą Nginx jako balansu obciążenia i odwrotnego proxy.

Wniosek

Aby skalować kontener Docker, wykorzystując NGINX jako moduł równoważenia obciążenia i odwrotne proxy, najpierw skonfiguruj usługi w pliku kompozycji. Następnie stwórz „nginx.conf”Złóż i dodaj instrukcje dotyczące usługi Upstream, portu słuchania balansu obciążenia i przekaż proxy, aby upstream. Następnie określ „nginx„Usługa w„Kompozycja dokera.yml”Plik, który działa jako moduł równoważenia obciążenia. Ten zapis pokazał, jak skalować pojemniki Docker za pomocą Nginx jako balansu obciążenia.