0

Ich plane, Docker Schwarm-Modus für meine Anwendungen Host zu verwenden. Derzeit in einer Situation, um eine Möglichkeit zur Integration von F5 Load Balancer mit Docker Swarm Mode Service Discovery zu finden. Gibt es einen Anwendungsfall, um dies zu erreichen? Ich weiß, dass wir die Ports mit Host veröffentlichen können und den Datenverkehr an Host-IP von F5 weiterleiten können, aber das beschränkt mich darauf, nur eine Aufgabe pro Host auszuführen.Externe F5 Load Balancer Integration mit Docker Schwarm Service Discovery

Könnte ich Konsul als Service Discovery verwenden und die Hostnamen für die Dienste haben, so dass ich ein Bind DNS-Setup habe, um DNS-Anfragen an Konsul weiterzuleiten?

Vorschläge/Ideen sind sehr geschätzt.

Vielen Dank im Voraus.

Antwort

0

Ohne mehr über Ihre beabsichtigte Anwendung zu wissen, wenn ich Service Discovery VIPs anstelle von DNSRR verwendet, würde ich jeden beworbenen VIP als Knoten hinter dem BIG-IP VIP behandeln. Auf diese Weise können Sie BIG-IPs iControlREST verwenden, um Knoten hinzuzufügen, zu ändern oder zu löschen, wenn diese in Swarm's Service Discovery aufgespürt werden.

Locken Beispiel: curl -sk -u 'admin:admin' -H "Content-Type: application/json" -X POST https://x.x.x.x/mgmt/tm/ltm/pool -d '{"name":"test-pool","members":[{"name":"Server-Bob:443","address":"10.0.0.1"}]}'

die obige Idee verwenden, würden Sie eine veröffentlichte Anwendung über die BIG-IP haben, und Sie würden hinzufügen/entfernen Docker Service entdeckt VIP on the fly über ansible/Python/Was auch immer.

Sie könnten Consul für die Serviceerkennung verwenden, aber ich denke, dass Sie redundante Funktionen erstellen würden, da Swarm ähnliche Erkennungsaufgaben ausführen kann. Das Hinzufügen von Bindungs-DNS-Anforderungen würde die Verwaltung nicht viel einfacher machen. Technisch gesehen gibt es viele Möglichkeiten, dies zu tun, aber das ist für mich am sinnvollsten, wenn Sie bereits eine BIG-IP-Infrastruktur eingerichtet haben. Wenn mir etwas in Ihren Bewerbungsvoraussetzungen fehlt, lass es mich wissen und ich kann meine Antwort ändern.