articles/2025/docker-swarm-mit-abweichendem-port-einrichten.md hinzugefügt

This commit is contained in:
2025-05-05 11:47:42 +00:00
parent 52658a3d00
commit 2d745e3377

View File

@@ -0,0 +1,85 @@
<!--{"title": "Docker Swarm mit abweichendem Port einrichten", "date": "2025-02-06", "slug": "docker-swarm-mit-abweichendem-port-einrichten", "cover": "/static/img/docker-swarm-mit-abweichendem-port-einrichten.png"}-->
**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```.