Ich bin bereits vertraut mit docker/swarm, aber finde dort ein "neues" Projekt vor: docker/swarmkit. Aber leider, nach dem Lesen der README, kann ich immer noch nicht herausfinden, was ist die Funktion von docker/swarmkit
. Könnte jemand helfen, die Beziehungen zwischen docker/swarm
und docker/swarmkit
zu erarbeiten? Warum wird docker/swarmkit
geboren?Die Beziehung zwischen "docker/swarm" und "docker/swarmkit"
Antwort
Docker Swarm ist eine ältere (2014) Docker natives Orchestrierungstool. Es ist Standalone von der Docker-Engine und dient dazu, Docker-Engines miteinander zu einem Cluster zu verbinden. Es ist dann möglich, eine Verbindung zum Schwarm herzustellen und Container auf dem Cluster auszuführen. Swarm hat ein paar Features:
- Hier können Sie einen Discovery-Dienst spezifizieren (Konsul etc ...)
- Einige Kontrolle darüber, wo Container platziert (Filter/Zwänge/Verteilungsstrategien, etc ...)
- Exposes die gleiche API wie der Docker Motor selbst, 3rd-Party-Tools ermöglicht nahtlos
Swarmkit zu interagieren ist ein neues (2016) Werkzeug durch das Team Docker entwickelt (von denen die meisten aus der kam SocketPlane Akquisition I bel ieve), die Funktionen zum Ausführen eines Clusters und zum Verteilen von Aufgaben (Hinweis: nicht unbedingt Docker Container) an die Maschinen im Cluster bereitstellt. Die Readme für Swarmkit ist sehr gut, und hier sind die wichtigsten Merkmale wie in der Werbung:
- Distributed: SwarmKit verwendet den Raft Consensus-Algorithmus, um zu koordinieren und beruht nicht auf einem Single Point of Failure Entscheidungen durchzuführen.
- Sicher: Die Kommunikation zwischen den Knoten und die Mitgliedschaft in einem Swarm sind ohne Sicherheitsrisiko gesichert. SwarmKit verwendet Mutual TLS für Knotenauthentifizierung, Rollenautorisierung und Transportverschlüsselung und automatisiert sowohl die Zertifikatausgabe als auch die Rotation.
- Einfach: SwarmKit ist operativ einfach und minimiert Infrastrukturabhängigkeiten. Es benötigt keine externe Datenbank für den Betrieb.
Docker Swarm-Modus (Version 1.12>)verwendet Swarmkit Bibliotheken & Funktionalität, um Container Orchestrierung über mehrere Hosts (ein Cluster) sehr einfach & sicher zu bedienen zu machen. Es gibt eine neue Reihe von Funktionen (die wichtigste ist docker swarm
), die jetzt in Docker selbst eingebaut sind, damit Sie einen neuen Swarm initiieren und Aufgaben (die Docker-Container in diesem Fall sind, aber nicht sein müssen) , siehe Swarmkit oben) zu diesem Cluster.
Wie auf der erwähnten Docker Swarm Seite ist es nicht veraltet ist, und ist immer noch ein brauchbares Verfahren für Docker Multi-Host-Orchestrierung, aber Docker Swarm-Modus (die die Swarmkit Bibliotheken unter der Haube verwendet) ist die empfohlene Methode, um ein neues Docker-Projekt zu starten, bei dem eine Orchestrierung über mehrere Hosts erforderlich ist.
Eine weitere Frage, wenn Sie "Version> 1.12'" beziehen, sollte es '1.12' enthalten, oder? –
Korrekt, bearbeitet. – johnharris85
Gemäß diesem Blog:
Swarmkit verwendet innerhalb Swarm-Modus (1.12) und eng integriert mit Docker Motor
https://sreeninet.wordpress.com/2016/07/14/comparing-swarm-swarmkit-and-swarm-mode/
Das ist ein sehr guter Artikel. Der Autor verwendet "SwarmNext" für das, was jetzt jeder als "Schwarm-Modus" bezeichnet. – Alkaline
Zu Verwirrung hinzufügen gibt es Swarm-Modus in Docker 1.12. So, jetzt haben wir alten Schwarm, Schwarm-Kit und neuen Schwarm-Modus in 1.12. – atv
@atv Ich verstehe, dass neuer Swarm-Modus in Docker 1.12 Docker Swarm-Funktionen in Docker integriert und verbessert. Aber was ist das Swarm-Kit? –
Ich fand diesen Blog-Beitrag wirklich nützlich, um den Unterschied zwischen Schwarm Standalone/swarmkit und Docker 1.12 Schwarm-Modus zu verstehen https://sreeninet.wordpress.com/2016/07/14/comparaging-swarm-swarmkit-and-swarm-mode/ (ja es gibt tatsächlich * 3 * verschiedene Produkte weitgehend überlappen) – number5