Hochverfügbarkeit und Orchestrierung für Container Docker Swarm mit Windows Server 2019
Mit Docker Swarm lassen sich für Container auf Basis von Docker eine eigene Orchestrierung und Hochverfügbarkeit bereitstellen. Das funktioniert auch in Windows Server 2019. Dadurch kann eine Container-Orchestrierung für Windows Server 2019 auch ohne Kubernetes realisiert werden.
Anbieter zum Thema

Der Docker Swarm-Modus fasst mehrere Container-Hosts zu einem Cluster zusammen und ermöglicht eine Container-Orchestrierung mit Bordmitteln, auch ohne den Einsatz von Kubernetes.
Ein Docker-Swarm besteht aus zwei Arten von Container-Hosts: Manage-Knoten (Manager Nodes) und Arbeiter-Knoten (Worker Nodes). Der Aufbau entspricht also im Grunde genommen dem Aufbau eines Clusters mit Kubernetes. Die Erstellung des Schwarms erfolgt über einen Manager Node im Cluster. Worker Nodes werden durch die Manage Nodes im Docker Swarm orchestriert.
Für die Verbindung zwischen den Knoten müssen verschiedene Ports in der Firewall geöffnet werden, damit die Knoten miteinander kommunizieren können:
- TCP 2377 (Cluster Management)
- TCP und UDP 7946 (Kommunikation zwischen Knoten)
- UDP 4789 (Netzwerkverkehr, ebenfalls zwischen Knoten)
Um Docker Swarm zu nutzen, muss mindestens Docker 1.13.x eingesetzt werden. Generell lassen sich auch Server mit Windows Server 2016 zu einem Schwarm hinzufügen, besser ist der Einsatz von Windows Server 2019, da hier die Technologien für die Zusammenarbeit von Containern deutlich verbessert wurden.
Um einen Manager-Knoten mit Windows Server 2019 für den Docker Swarm-Modus zu aktivieren, wird der folgende Befehl verwendet:
docker swarm init --advertise-addr=<IP-Adresse des Hosts> --listen-addr <IP-Adresse des Hosts>:2377
Beispiel:
docker swarm init --advertise-addr=192.168.178.244 --listen-addr 192.168.178.244:2377
Danach wird der Schwarm erstellt. Um Worker Nodes oder Manage Nodes hinzuzufügen, werden die Befehle genutzt, die beim Erstellen des Docker Swarm-Modus angezeigt werden. Genutzt wird dazu der Befehl
docker swarm join