Wprowadzenie do Docker Swarm / Definicja

Rój dokerów jest jednym z narzędzi dostępnych w kontenerach Docker, które są platformą / narzędziem do organizacji kontenerów typu open source. Jest również nazywany rodzimym narzędziem do tworzenia klastrów i planowania w Docker. Gdy wielkość kontenerów rośnie, bardzo trudno jest zarządzać wszystkimi tam, gdzie pojawia się rola Swarm. Pomaga deweloperom i administratorom zarządzać i ustanawiać klaster węzłów Docker w postaci pojedynczego wirtualnego maszyna.

Pojęcia / kluczowe terminy używane w Docker Swarm

  • Rój - rój składa się z wielu systemów / hostów Docker, które działają w trybie roju.
  • Swarmkit - Swarmkit służy do implementacji warstwy orkiestracji Dockera.
  • Zadanie - zadanie składa się z poleceń i kontenera, które powinny być uruchamiane w kontenerze. Zadania są dystrybuowane przez menedżera roju do węzłów.
  • Węzły - Węzeł można zdefiniować jako pojedynczy silnik Docker, który uczestniczy w roju. Dobrym wdrożeniem roju produkcyjnego jest rozproszenie węzłów dokerów na wielu komputerach.
  • Usługa - za każdym razem, gdy tworzona jest usługa, określa ona kontener, którego należy użyć, oraz polecenia, które powinny być uruchamiane w kontenerze. Tak więc usługa to lista zadań, które powinny zostać wykonane w węzłach pracownika lub menedżera.
  • Węzły menedżera - zadaniem węzłów menedżera jest wysłanie zadań do węzłów roboczych. Węzły menedżera są również odpowiedzialne za wykonywanie innych funkcji, takich jak zarządzanie klastrem i aranżacja.
  • Węzły robocze - Zadaniem węzła roboczego jest wprowadzenie zadań pochodzących z węzła menedżera i ich uruchomienie. Węzeł roboczy jest instalowany z agentami, które zgłaszają jednostki pracy przypisane do niego do węzłów menedżera.
  • Węzły liderów - Służy jako lider do wykonywania zadań związanych z orkiestracją.

Co można zrobić, korzystając z Docker Swarm

Rój jest bardzo przydatny dla administratorów i programistów w ekosystemie Docker. Oto niektóre z zadań, które doker może wykonać:

  • Można go użyć do skalowania liczby pojemników.
  • Do ustanowienia koordynacji między kontenerami.
  • Do przydzielania zadań do klastra kontenerów.
  • Do zarządzania cyklem życia pojemników, a także do przeprowadzania regularnych kontroli stanu.
  • Służy do wdrażania aktualizacji oprogramowania między kontenerami.

Zrozumienie Docker Swarm / Working

Poniżej przedstawiono działanie roju dokerów, które są następujące:

Praca węzłów

Jak widzieliśmy, istnieją dwa typy węzłów, tj. Menedżer i pracownik. Przyjrzyjmy się działaniu obu.

Zadania obsługiwane przez węzły menedżera to: Planowanie usług, utrzymanie stanu klastra, a także spełnianie punktów końcowych interfejsu API HTTP. Wskazane jest uruchamianie wielu węzłów menedżera, ponieważ pomoże to skorzystać z funkcji odporności na awarie roju.

Węzły robocze uruchamiają kontenery i do działania wymaga co najmniej 1 węzła menedżera.

Działanie usług

Jedynym celem usług jest wdrożenie obrazu aplikacji do roju Docker. Na przykład serwer DB, serwer WWW, serwery HTTP są przykładami usług.

Procesy i warunki usługi:

  • Niepowodzenie zadania - za każdym razem, gdy zadanie nie powiedzie się w roju dokerów, zazwyczaj nie jest uruchamiane ponownie. Zadaniem orkiestratora jest więc usunięcie tego nieudanego zadania i zastąpienie go nowym, zgodnym ze stanem usługi.
  • Opcja usługi - za każdym razem, gdy tworzona jest usługa, zawsze możemy zdefiniować port, na którym można korzystać z usługi (dla użytkowników zewnętrznych), można zastosować ograniczenia pamięci i procesora, zdefiniować zasady aktualizacji itp.
  • Usługa oczekująca - usługa przechodzi w stan oczekiwania, gdy żadne węzły nie są obecnie dostępne w roju dokerów do uruchomienia zadania.

Docker Swarm Filters

Rój dokerów ma 5 filtrów:

  • Powinowactwo - celem filtra powinowactwa jest zapewnienie, że kontenery działają w tym samym węźle sieci, a także określa kolejność, w której powinny być wykonywane.
  • Port - port definiuje dedykowany zasób. Gdy kontener działa na porcie, który nie jest wolny, kontener przejdzie do innych dostępnych węzłów.
  • Ograniczenie - Kiedy tworzony jest węzeł, możemy przypisywać pary klucz-wartość za pomocą filtru ograniczenia.
  • Zależność - za każdym razem, gdy istnieje zależność między kontenerami, filtry zależności planują te w tym samym węźle.
  • Zdrowie - Jeśli którykolwiek z węzłów jest wyłączony i nie działa, ten filtr nie przypisze do niego żadnych kontenerów.

Niektóre polecenia Docker Swarm:

Cel, powódKomenda
Tworzenie rojuInicjatywa roju dokerów
Dołączanie do rojudołącz do roju dokerów \

–Token Token_number \

IP: Port

Tworzenie usługi i nadawanie jej nazwyusługa dokowania create –nazwa Edu
Usuwanie usługiusługa dokerów usuń Edu
Usługa aktualizacjiaktualizacja usługi dokera
Monitorowanie stanu węzławęzeł dokujący ls

Zalety i wady

Zobaczmy teraz zalety i wady roju dokerów

Zalety:

  • Wdrożenie jest łatwe, a tryb roju jest domyślnie dostarczany z Docker Engine.
  • Instalacja jest łatwa i szybka.
  • Integrację roju można łatwo osiągnąć dzięki Docker CLI i Docker compose
  • Nie jest wymagane duże doświadczenie, a nauka jest łatwa.

Niedogodności:

  • Aby skalować usługi, wymagana jest ręczna interwencja.
  • Ma ograniczoną odporność na uszkodzenia.
  • Obecnie nie są dostępne szersze funkcje.
  • Ma mniejszą społeczność w porównaniu do innych narzędzi do aranżacji, takich jak Kubernetes.

Wniosek

W tym artykule zaczęliśmy od podstawowego przeglądu i definicji roju Docker, a także zobaczyliśmy ważne terminy stosowane w technologii roju, która jest częścią ekosystemu. Następnie próbowaliśmy zrozumieć działanie stojące za rojem Docker, a także nauczyliśmy się kilku poleceń Docker, które są używane w trybie roju.

Polecane artykuły

To był przewodnik po What Docker Swarm ?. Tutaj omówiliśmy koncepcję, dowodzenie, filtry, użycie i zrozumienie Docker Swarm. Możesz także przejrzeć nasze inne Sugerowane artykuły, aby dowiedzieć się więcej -

  1. Pytania do Docker Interview
  2. Co to jest Cassandra?
  3. Pytania dotyczące wywiadu w ramach mikrousług
  4. Co to jest Jenkins?