Docker Swarm: Overlay und Ingress funktionieren nicht

Ich habe heute realisiert, dass ich erfolgreich über eine Woche meines Lebens damit in den Sand gesetzt habe, eine nicht funktionierende Kommunikation zwischen einem Docker Swarm Manager auf einem ESXi und einem Docker Swarm Worker auf einer Proxmox-Instanz zum laufen zu kriegen.

Die Fehler äußerten sich komplett wirr:

  1. der Worker verlor ständig die Verbindung
  2. Overlay-Netzwerke zwischen den Hosts funktionierten nicht
  3. Namensauflösung war nicht möglich
  4. Das Ingress Netzwerk hat nicht funktioniert

Um auf den Punkt zu kommen: der ESXi hat die Verbindung zur Manager-VM gedroppt, da diese auf dem Port 4789 läuft; und dieser von VMs nicht genutzt werden kann. Dies trifft auch zu, wenn die Hosts eine eigene IP über ein Bridge-Netzwerk haben.

Also muss der Swarm aufgetrennt werden, der Data-Port geändert werden, und der Swarm wieder errichtet werden.

Auf dem Worker:

docker swarm leave

Auf dem Manager:

docker swarm init --advertise-addr=YOURIP --listen-addr=0.0.0.0 --data-path-port=7779 --force-new-cluster=true

Und auf dem Worker wieder dem Swarm über den Token beitreten.

Dies ist übrigens der StackOverflow-Kommentar, der die Lösung brachte.

Kategorien: Docker, vSphere

tino-ruge.de wird tino-kuptz.de

Im Laufe des Jahres 2024 wird dieser Blog umziehen. Alle Inhalte werden 1:1 weitergeleitet, nix geht verloren. Neue Domain, alter Autor, alter Inhalt.