B1tsblog

← Zurück zur Übersicht

Docker Swarm mit abweichendem Port einrichten

Kennzeichnung gemäß Artikel 52 Absatz 1 EU AI Act: 💜 Kein Einsatz von KI

Wir möchten in diesem Artikel über die abweichende Einrichtung eines Swarm-Netzwerks unter vmware berichten. Eine Besonderheit in der Konfiguration von Docker-Swarm unter vmware kann der identische Port (4789) sein, den sowohl vmware, als auch Docker-Swarm nutzen.

Einleitung

Wir möchten in diesem Artikel über die abweichende Einrichtung eines Swarm-Netzwerks unter vmware berichten. Eine Besonderheit in der Konfiguration von Docker-Swarm unter vmware kann der identische Port (4789) sein, den sowohl vmware, als auch Docker-Swarm nutzen. Hier ist es notwendig, den data-path-port zu ändern. Wir gehen hier Schritt für Schritt die Konfiguration durch.

Umgebung

Wir installieren drei Swarm-Nodes auf einer vmware-Umgebung mit insgesamt 4 Hosts. Die Anzahl der vmware-Hosts ist jedoch irrelevant. Vorausgesetzt werden drei Ubuntu-Core-Server mit der OS-Version 22.04 ohne weitere Konfiguration.

Basis-Konfiguration

Wir wechseln in den autorisierten Modus um administrative Aktionen ausführen zu können:

Dazu führen wir das Kommando sudo su aus.

Danach installieren wir die Net-Tools mit dem Kommando apt install net-tools.

Danach installieren wir den Text-Editor nano mit dem Kommando apt install nano.

Im Anschluss deaktivieren wir den Ubuntu-Cloud-Init. Hierzu suchen wir mit dem Kommando apt-cache pkgnames | grep cloud-init die passende Konfiguration.

Die angezeigte Datei sollte nun bearbeitet werden: nano /etc/cloud/cloud.cfg.d/99-disable-cloud-init.cfg.

Wir ergänzen die Konfiguration um die Zeile network: {config: disabled}.

Jetzt ist ein Neustart der virtuellen Maschinen notwendig.

Im Anschluss konfigurieren wir die Netzwerkeinstellungen der virtuellen Maschinen. Führen Sie die zwei Kommandos aus:

cd /etc/netplan
grep -iH enp1s0 *.*

Hierbei sollte eine Datei angezeigt werden, die ungefähr so aussieht: 00-installer-config.yaml.

Jetzt bearbeiten wir die Datei mit derm Kommando nano 00-installer-config.yaml und fügen folgenden Inhalt ein:

network:
        ethernets:
            enp1s0:
                dhcp4: no
                addresses:
                    - 192.168.122.128/24
                gateway4: 192.168.122.1
                nameservers:
                    addresses: [1.1.1.1, 1.0.0.1]
        version: 2

Jetzt aktivieren wir die Konfiguration mit dem Kommando netplan apply.

Installation von Docker

Installieren Sie Docker mit dem Kommando apt install docker.io.

Einrichten des Swarm (nur auf dem ersten Server)

Führen Sie foldendes Kommando aus um den Swarm-Modus zu aktivieren. Besonders hervorzuheben, ist der abweichende Port. Dieser hat uns bei unser Installation in dieser Kombination Kopfzerbrechen bereitet. Deswegen teilen wir unseren Lösungsweg:

docker swarm init --data-path-port 4788 --advertise-addr 172.29.8.15

Beachten Sie, hier bei --advertise-addr die IP-Adresse Ihrer ersten virtuellen Maschine einzugeben!

Nachdem Sie den Befehl ausgeführt haben wird Swarm initialisiert. Achten Sie hierbei auf die Ausgabe. Es sollte eine Meldung mit Ihrem “Swarm-Key” ersichtlich sein. Sollte der Key nicht angezeigt werden, können Sie ihn mit dem Kommando docker swarm join-token worker erneut aufrufen.

Hinzufügen der zwei anderen Server zum Swarm Mit nur einer Node ist ein Swarm ziemlich unnötig. Deswegen fügen wir die zwei weiteren virtuellen Maschinen hinzu:

docker swarm join --token --KEY-- 172.29.8.15:2377.

Diesen Befehl führen sie auf jedem Server aus, der dem Swarm beitreten soll. Ersetzen Sie –KEY– durch Ihren Swarm-Key. Mit den folgenden Befehlen können Sie Informationen zu Ihrem Swarm abrufen:

docker info docker node ls

Jetzt sind alle Server Teil des Swarm.

Möchten Sie die anderen Server ebenfalls zu Manager-Nodes machen, führen Sie diesen Befehl auf dem ersten Server aus: docker node promote name.

← Zurück zur Übersicht