Docker Swarm поддерживает синхронизацию данных между узлами? - PullRequest
0 голосов
/ 11 марта 2020

Я никогда ничего не делал с Docker Swarm или Kubernetes, поэтому я пытаюсь узнать, что и для чего, и что лучше всего подходит для моих целей, прежде чем заняться этим.

Мой сценарий :

  • У меня есть рабочий стол P C, работающий Docker Рабочий стол, и ..
  • У меня Raspberry PI работает Docker на Raspbian

Это все в домашней ЛВС, поэтому я не хочу сходить с ума от сложных вещей.

Я хочу запускать контейнеры Pi Hole и DNSCrypt Proxy на обеих «машинах», (из-за избыточности, в основном потому, что Docker Desktop, похоже, требует sh много, что уносит с собой всю мою систему DNS, когда я просто использую эту машину для Pi-hole).

Мое главное, Я хочу, чтобы все данные / конфигурации, и т. Д. c. между ними, чтобы оставаться в синхронизации c (то есть данные контейнера дыры Пи остаются синхронизированными c на обоих устройствах и т. д. c.), и я хочу, чтобы менеджер всегда был включен, в случае сбоев, и и так далее.

Мои вопросы:

Будучи совершенно новым для этой области, и просто немного разбираюсь:

  • it Кажется, что Kubernetes может быть немного больше и сложнее, чем мне нужно для этого?
  • Вот почему я вместо этого думал Swarm, но я также не уверен, будет ли кто-либо из них синхронизировать данные?
  • И, скажем, я создаю 2 контейнера Pi-hole на машине Manager, создает ли она 1 на машине менеджера и 1 на рабочей машине?

Любая информация приветствуется!

1 Ответ

0 голосов
/ 17 марта 2020

Docker не совсем имеет что-то, что напрямую отвечает вашим потребностям, но если у вас есть надежный файловый сервер в вашей домашней локальной сети, вы можете сделать это очень легко.

В широком смысле вы хотите посмотреть на Docker Volume Plugins . Большинство из них, в конечном счете, работают через внешнего поставщика услуг хранения данных, и поэтому вам это не поможет. Есть еще пара экзот c, таких как Portworx или StorageOS, которые могут делать переносимое / реплицируемое хранилище исключительно в Docker, но я думаю, что большинство из них являются платными.

Но, если у вас есть файловый сервер, которому вы доверяете, чтобы он работал и работал, вы можете смонтировать общий ресурс NFS / CIFS как том, как указано в Docker Docs , и Docker может справиться с его повторным подключением при перемещении контейнера из одного узла в другой из-за сбоя.

Еще одно замечание: вам нужно два узла-менеджера и один контейнер для каждой службы в вашем рое. Для работы роя необходим один рабочий узел диспетчера (это важно в случае сбоя диспетчера). Несколько отдельных экземпляров, как правило, были бы полезны, только если служба была разработана как распределенное / отказоустойчивое приложение.

...