Docker Swarm: Container im Rudel

Ursprünglich wurde Docker Swarm als Erweiterung zur Verfügung gestellt, aber seit Version 1.12 ist es direkt in der Docker Engine enthalten. Damit lassen sich die Container nicht nur auf mehrere Server verteilen, sondern es bringt auch noch einige Features mit.
Bei Docker Swarm wird zwischen zwei Servertypen (=nodes) unterschieden: manager-nodes und worker-nodes. Während die worker-nodes, wie der Name schon vermuten lässt, die Arbeit verrichten, werden manager-nodes benutzt um neue Container zu starten. Die manager-nodes verteilen dann die neu zu startenden Container auf der worker-nodes, sodass alle Server möglichst gleichmäßig ausgelastet sind. Somit entsteht eine große Docker-Umgebung auf mehrere Server verteilt, die leicht erweitert werden können.
Zudem werden auch bei den Diensten verschiedene Varianten dem Namen nach eingeführt: tasks, welche die Aufgabe an die manager-nodes darstellen neue Container zu starten; services, die aus einem Container bestehen, der auf einem der Server läuft; replica services – erst mal wie ein normaler Container, aber in mehrfacher Ausführung des gleichen Servers, die über den Cluster verteilt werden; und zu guter Letzt global services, die aus einem Container bestehen, der auf jedem node im Netzwerk einmal laufen soll. Für die replica servers wird üblicherweise ein Loadbalancer eingeführt, der die Aufgaben gleichmäßig auf die Container verteilt um somit die Last möglichst weitflächig im Netzwerk zu verteilen. Die Skalierung, also die Anzahl wie oft ein bestimmter Container bestehen soll, lässt sich auch nach dem Start des Containers noch anpassen.
Mit einer großen erweiterbaren Docker-Umgebung lassen sich sehr viele Container starten und somit viele Applikationen in Containern betreiben. Zusätzlich besteht durch die Skalierung und das Loadbalancing die Möglichkeit Lasten und Traffic auf mehrere Server zu verteilen. Da die Docker Swarm Verwaltung wie auch Docker über die Kommandozeile funktioniert, ist es schwer bei einem großen Cluster mit vielen Containern den Überblick zu bewahren.
Dies ist Teil 3 aus einer Reihe von Blogbeiträgen zum Thema Docker/Rancher.
Teil 1 bietet einen Überblick zu Docker und Container-Umgebungen
Teil 2 erklärt die Funktionen einer Docker Registry und docker-compose
Teil 3 stellt Docker Swarm mit einer Docker Umgebung verteilt über mehrere Hosts vorhanden
Teil 4 zeigt Rancher als Orchestrierungstool für Docker (und andere Containerumgebungen)
Teil 5 enthält kurze Informationen zu den Rancher-Funktionen eines Katalogs und rancher-compose
ATIX-Crew
Neueste Artikel von ATIX-Crew (alle ansehen)
- Kafka mit Ansible automatisieren - 10. August 2023
- Konfigurationsmanagement über verschiedene Netze mit AWX - 11. Juli 2023
- Vergangenheit, Gegenwart und Zukunft von pulp_deb - 22. Februar 2023