> Kennzeichnung gemäß Artikel 52 Absatz 1 EU AI Act: [💜 Kein Einsatz von KI](/page/ai) **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```.