2016-08-05 30 views
0

Wie pro Kubernetes docs: http://kubernetes.io/docs/user-guide/configmap/Docker 1.12 Schwarm: Hat Swarm ein Konfigurationsspeicher wie Kubernetes configMap

Kubernetes hat eine ConfigMap API Ressource, die Schlüssel-Wert-Paare von Konfigurationsdaten gespeichert werden, die in den Hülsen verzehrt werden können .

Diese wie eine sehr nützliche Funktion sieht so viele Container-Konfiguration über eine Kombination von Konfigurationsdateien erfordern und Umgebungsvariablen

Gibt es eine ähnliche Funktion in docker1.12 Schwarm?

Antwort

2

Leider unterstützt Docker (sogar in 1.12 mit Schwarm-Modus) nicht die Vielzahl von Anwendungsfällen, die Sie mit ConfigMaps (auch keine Geheimnisse) lösen könnten.

Die einzigen Dinge, die unterstützt werden, sind externe Env-Dateien in beiden Docker ( https://docs.docker.com/engine/reference/commandline/run/#/set-environment-variables-e-env-env-file) und Verfassen (https://docs.docker.com/compose/compose-file/#/env-file).

Diese sind gut, um Konfiguration aus dem Bild zu halten, aber sie verlassen sich auf Umgebungsvariablen, so dass Sie nicht nur Ihre gesamte Konfigurationsdatei externalisieren können (z. B. für nginx oder Prometheus). Außerdem können Sie die env-Datei nicht separat von der Bereitstellung/dem Dienst aktualisieren, was mit K8s möglich ist.

Problemumgehung: Sie könnten Ihre Konfigurationsdateien auf eine Weise erstellen, die diese Variablen aus der env-Datei möglicherweise verwendet.

Ich würde raten, dass früher oder später Docker diese Funktionalität hinzufügen wird. Momentan ist Swarm noch in den Kinderschuhen. Für fortgeschrittene Use Cases musst du entweder warten (mittel- bis langfristig haben alle Plattformen ähnliche Features), deinen eigenen hack/wororound erstellen oder mit K8s, die das Zeug haben integriert.

Hinweis: Für Secrets Speicher würde ich Hashicorp's Vault empfehlen. Für die Konfiguration ist es jedoch möglicherweise nicht das richtige Werkzeug.

+0

Update: Docker Swarm unterstützt jetzt Geheimnisse mit 1.13 und neuer. Aber ich glaube nicht, dass ConfigMaps unterstützt werden ... –