Weisen Sie Docker Swarm-Containern mit öffentlichem IPv6 einen DNS-Namen zu

7

Ich versuche zu verstehen, wie ich einen Docker-Container (der im Swarm-Modus ausgeführt wird) mit öffentlich verfügbarem IPv6 einrichten würde.

Ich weiß, dass Docker Swarm Mesh-Routing verwendet, aber ich verstehe nicht ganz, wie ich Adressen dynamisch DNS-Namen zuweisen kann.

Angenommen, ich möchte einen Git-Server (mit HTTP 80 443 und SSH 22) git.example.comund einen regulären Webserver example.com(mit HTTP 80 443) ausführen. Beide haben öffentliche IPv6-Adressen, aber ich möchte die IPv6-Adresse nicht fest codieren (zum Beispiel bei CloudFlare). Immerhin ist das DevOps!

Wie würde ich das machen? Ich gehe davon aus, dass ich dafür meinen eigenen DNS-Server betreiben muss.

Hinweis : Nach weiteren Recherchen scheint dies mit dem Docker HTTP Routing Mesh (HRM) möglich zu sein, das leider nur Teil der Enterprise Edition ist. Kennt jemand einen ähnlichen Open-Source-Ansatz?

JacksGT
quelle

Antworten:

3

Unter der Annahme, dass "öffentlich verfügbar" im öffentlichen Internet verfügbar ist, wird es schwierig sein.

DNS reagiert nicht wirklich auf Änderungen und ist schwierig, im öffentlichen Internet sicher zu arbeiten.

Dies hängt auch davon ab, welches Protokoll Sie ausführen, da es bei SRV-Datensätzen, bei denen bereits vorhandene Protokolle von der Unterstützung im RFC ausgeschlossen wurden, merkwürdig ist.

Aber im Allgemeinen sind die öffentliche und die private Lösung, die ich implementieren würde, ähnlich, mit einer zusätzlichen Ebene für eine öffentliche Internetlösung. (unter der Annahme, dass keine Drittanbieter- oder geospezifischen Antworten verwendet werden)

Verwenden Sie im Internet Edge den ungebundenen DNS-Server am Edge und lassen Sie ihn Anfragen an den Konsul weiterleiten , der die Dienstregistrierung übernimmt.

Wenn dies für den privaten Gebrauch bestimmt ist, würde dies ein gewisses Bewusstsein für Rechenzentren und ein Failover ermöglichen.

Wenn es nur für den internen Gebrauch bestimmt ist, können Sie einfach den Konsul verwenden und entweder Ihre internen DNS-Server so konfigurieren, dass Subdomänen delegiert werden, oder an die Standarddomäne weiterleiten.

gdahlm
quelle
Direkte DNS-Änderungen können problematisch sein, wenn Sie AAAA-Datensatzaktualisierungen schnell durchführen (schneller als der Cache abläuft oder eine Zonenübertragung von einem privaten BIND auf einen öffentlichen NS-Server). Was ist die erwartete Häufigkeit von DNS-Updates?
Chase