Einführung in Docker Swarm / Definition

Ein Docker-Schwarm ist eines der Tools in Docker-Containern, die eine Open-Source-Container-Orchestrierungsplattform / -tool sind. Es wird auch als natives Clustering- und Scheduling-Tool von Docker bezeichnet. Wenn die Größe der Container zunimmt, wird es sehr schwierig, alle Bereiche zu verwalten, in denen die Rolle von Swarm eine Rolle spielt. Dies hilft den Entwicklern und Admins, einen Cluster der Docker-Knoten in Form einer einzelnen virtuellen zu verwalten und einzurichten Maschine.

Die Konzepte / Schlüsselbegriffe für Docker Swarm

  • Schwarm - Ein Schwarm besteht aus vielen Docker-Systemen / Hosts, die im Schwarmmodus ausgeführt werden.
  • Swarmkit - Ein Swarmkit wird zum Implementieren der Orchestrierungsebene von Docker verwendet.
  • Task - Eine Task besteht aus Befehlen und dem Container, der im Container ausgeführt werden soll. Die Aufgaben werden vom Schwarmmanager auf die Knoten verteilt.
  • Knoten - Knoten können als einzelne Docker-Engine definiert werden, die am Schwarm teilnehmen. Bei einer guten Bereitstellung eines Produktionsschwarms sind die verteilten Docker-Knoten auf viele Computer verteilt.
  • Service - Wenn ein Service erstellt wird, gibt er den Container an, der verwendet werden soll, und die Befehle, die im Container ausgeführt werden sollen. Service ist also eine Liste von Aufgaben, die auf dem Worker- oder dem Manager-Knoten ausgeführt werden sollen.
  • Manager-Knoten - Die Aufgabe von Manager-Knoten besteht darin, die Aufgaben an die Worker-Knoten zu verteilen. Die Manager-Knoten sind auch für die Ausführung anderer Funktionen wie die Verwaltung des Clusters und der Orchestrierung verantwortlich.
  • Arbeitsknoten - Die Aufgabe des Arbeitsknotens besteht darin, die vom Manager-Knoten kommenden Aufgaben einzugeben und auszuführen. Ein Arbeitsknoten wird mit Agenten installiert, die die ihm zugewiesenen Arbeitseinheiten an die Manager-Knoten melden.
  • Leader-Knoten - Er dient als Leader, um Aufgaben im Zusammenhang mit der Orchestrierung auszuführen.

Was kann man mit Docker Swarm tun?

Swarm ist sehr nützlich für Administratoren und Entwickler in einem Docker-Ökosystem. Im Folgenden sind einige der Aufgaben aufgeführt, die der Hafenarbeiter ausführen kann:

  • Hiermit kann die Anzahl der Container skaliert werden.
  • Zur Koordination zwischen Containern.
  • Zur Zuordnung von Aufgaben zum Containercluster.
  • Zur Verwaltung des Lebenszyklus von Containern und zur Durchführung regelmäßiger Gesundheitsprüfungen.
  • Für den Zweck, die Aktualisierungen für die Software in den Containern bereitzustellen.

Docker Swarm verstehen / Arbeiten

Im Folgenden wird die Arbeitsweise des Docker-Schwarms beschrieben:

Arbeiten von Knoten

Wie wir gesehen haben, gibt es zwei Arten von Knoten, nämlich den Manager und den Arbeiter. Sehen wir uns die Arbeitsweise von beiden an.

Die Aufgaben, die von den Managerknoten ausgeführt werden, sind: - Planen der Dienste, Beibehalten des Clusterstatus und Erfüllen der HTTP-API-Endpunkte. Es wird empfohlen, mehrere Manager-Knoten auszuführen, damit Sie die Fehlertoleranzfunktionen von swarm nutzen können.

Worker-Knoten führen die Container aus, und es ist mindestens 1 Manager-Knoten erforderlich, um zu funktionieren.

Arbeiten von Dienstleistungen

Der einzige Zweck von Diensten besteht darin, ein App-Image für den Docker-Schwarm bereitzustellen. Ein DB-Server, ein Webserver oder ein HTTP-Server sind beispielsweise Beispiele für Dienste.

Prozesse und Nutzungsbedingungen:

  • Aufgabenfehler - Wenn eine Aufgabe in einem Docker-Schwarm fehlschlägt, wird sie im Allgemeinen nicht neu gestartet. Die Aufgabe des Orchestrators besteht also darin, diese fehlgeschlagene Aufgabe zu entfernen und durch eine neue zu ersetzen, die dem Status des Dienstes entspricht.
  • Service Option - Immer wenn ein Service erstellt wird, können wir einen Port definieren, auf den der Service angewendet werden kann (für externe Benutzer), Speicher- und CPU-Limits können angewendet werden, Update-Richtlinien können definiert werden usw.
  • Ausstehender Dienst - Ein Dienst wird in einen ausstehenden Zustand versetzt, wenn derzeit keine Knoten im Docker-Schwarm verfügbar sind, um die Aufgabe auszuführen.

Docker-Schwarmfilter

Der Docker-Schwarm hat 5 Filter:

  • Affinität - Der Zweck des Affinitätsfilters besteht darin, sicherzustellen, dass die Container auf demselben Netzwerkknoten ausgeführt werden, und definiert auch die Reihenfolge, in der die Container ausgeführt werden sollen.
  • Port - Der Port definiert eine dedizierte Ressource. Wenn ein Container auf dem nicht freien Port ausgeführt wird, wird der Container auf die anderen verfügbaren Knoten verschoben.
  • Einschränkung - Wenn ein Knoten erstellt wird, können wir Schlüssel-Wert-Paare mithilfe eines Einschränkungsfilters zuweisen.
  • Abhängigkeit - Wenn zwischen den Containern eine Abhängigkeit besteht, planen die Abhängigkeitsfilter diese auf demselben Knoten.
  • Zustand - Wenn einer der Knoten inaktiv ist und nicht funktioniert, weist dieser Filter ihm keine Container zu.

Einige Docker Swarm-Befehle:

ZweckBefehl
Einen Schwarm erschaffenDocker Schwarm init
Einem Schwarm beitretenDocker Schwarm Join \

–Token Tokennummer \

IP: Port

Einen Dienst erstellen und benennenDocker-Dienst-Erstellungsname Edu
Service entfernenDocker-Dienst entfernen Edu
AktualisierungsdienstDocker-Service-Update
Überwachung des KnotenstatusAndockknoten ls

Vorteile und Nachteile

Lassen Sie uns nun die Vor- und Nachteile des Docker-Schwarms sehen

Vorteile:

  • Die Bereitstellung ist einfach und der Schwarmmodus wird standardmäßig mit Docker Engine geliefert.
  • Die Installation ist einfach und schnell.
  • Die Schwarmintegration kann leicht mit Docker CLI und Docker Compose erreicht werden
  • Es ist nicht viel Erfahrung erforderlich und das Lernen ist einfach.

Nachteile:

  • Um die Dienste zu skalieren, ist ein manueller Eingriff erforderlich.
  • Die Fehlertoleranz ist begrenzt.
  • Derzeit sind keine weiteren Funktionen verfügbar.
  • Die Community ist im Vergleich zu anderen verfügbaren Orchestrierungs-Tools wie Kubernetes kleiner.

Fazit

In diesem Artikel haben wir mit einer grundlegenden Übersicht und Definition des Docker-Schwarms begonnen und wir haben auch die wichtigen Begriffe gesehen, die in der Schwarmtechnologie verwendet werden, die Teil des Ökosystems ist. Dann haben wir versucht, die Funktionsweise von Docker Swarm zu verstehen und einige Docker-Befehle gelernt, die im Swarm-Modus verwendet werden.

Empfohlene Artikel

Dies war eine Anleitung zu Was ist Docker Swarm ?. Hier haben wir das Konzept, den Befehl, die Filter, die Verwendung und das Verständnis von Docker Swarm besprochen. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren -

  1. Fragen in Vorstellungsgesprächen bei Docker
  2. Was ist Cassandra?
  3. Fragen in Vorstellungsgesprächen bei Microservices
  4. Was ist Jenkins?