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ód | Komenda |
Tworzenie roju | Inicjatywa roju dokerów |
Dołączanie do roju | dołącz do roju dokerów \
–Token Token_number \ IP: Port |
Tworzenie usługi i nadawanie jej nazwy | usługa dokowania create –nazwa Edu |
Usuwanie usługi | usługa dokerów usuń Edu |
Usługa aktualizacji | aktualizacja usługi dokera |
Monitorowanie stanu węzła | wę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 -
- Pytania do Docker Interview
- Co to jest Cassandra?
- Pytania dotyczące wywiadu w ramach mikrousług
- Co to jest Jenkins?