2017-06-22 5 views
1

Dies ist wahrscheinlich eine einfache Frage, aber ich frage mich, wie andere dies tun.Cluster Docker Swarm Hosts

Ich habe einen Docker Swarm Mode Cluster mit 3 Managern. Lassen Sie uns sagen sie

  • 192.168.1.10
  • 192.168.1.20
  • 192.168.1.30

Ich kann meine Web-Container durch eine der IP-Adressen zuzugreifen, durch das interne Routing-Netz die IP-Adressen haben usw. Aber wenn der Host mit der IP herunterkommt, auf die ich mit meinem Web-Container zugreife, werde ich offensichtlich nicht mehr zum Container weitergeleitet. Also brauche ich einen einzelnen DNS-Eintrag oder etwas, das mich auf eine aktive Adresse in meinem Cluster verweist.

Wie machen Sie das? Sollte ich dem DNS alle drei IPs als A-Einträge hinzufügen? Oder haben Sie einen Load Balancer/Reverse Proxy vor dem Cluster?

Ich nehme an, es mehr als eine Lösung ist, wäre schön, zu hören, wie andere diese :-)

Dank viel

Antwort

0

Angenommen, Ihre Web-Server so etwas wie dies gestartet wurde gelöst:

docker service create --replicas=1 -p 80:80 nginx:alpine 

Der Cluster versucht, diese eine Replik neu zu planen, falls die Replik aus irgendeinem Grund ausfallen sollte. Bei nur einer Replik kann es zu einer Ausfallzeit zwischen der alten Aufgabe und der neuen Aufgabe kommen.

Ein Teil des Entwurfsziels des Routing-Mesh-Features bestand in der Tat darin, die Load-Balancing-Konfiguration zu vereinfachen. Da in meinem Beispiel alle Mitglieder des Clusters Port 80 überwachen, kann Ihr Load Balancer einfach so konfiguriert werden, dass er alle drei IPs abfragt. Unter der Annahme, dass der Load-Balancer den ausgefallenen Knoten korrekt erkennen kann, wird die Aufgabe irgendwo im Cluster neu geplant, und jeder der beiden verbleibenden Knoten kann Verkehr über das Routing-Mesh routen.

+0

Das war, was wir vorbereiteten. Ich frage mich, welche Art von "externen" Load Balancer oder Reverse-Proxy vor dem Schwarm am häufigsten ist? HAProxy, Nginx oder ein NLB? jeder Vorschlag, was ist eine Art "Best Practice"? – Matteo

+0

Generell würde ich empfehlen, einen Layer 3 Load Balancer vor das Schwarm Mode Routing Mesh zu setzen. Ich finde es viel häufiger, dass haproxy und nginx im Schwarm-Modus-Cluster laufen. – programmerq

Verwandte Themen