Нужно ли мне устанавливать docker на все мои узлы в режиме swarm?

#docker #docker-swarm #docker-machine

#docker #docker-swarm #docker-machine

Вопрос:

Я знаю, что это основной вопрос. Но я новичок в docker и у меня есть этот запрос. Нужно ли мне устанавливать docker на все мои узлы, которые являются частью моего режима swarm?. Если да, то какими способами я могу установить docker на все мои узлы за один раз?

Комментарии:

1.docs.docker.com/engine/swarm.

Ответ №1:

Конечно, вам нужно установить Docker и его зависимости на каждом узле. На одном из управляющих узлов вам нужно инициировать swarm с помощью docker swarm init , а затем вы присоединяетесь к другим машинам либо в качестве управляющих узлов, либо рабочих узлов.

Количество управляющих узлов зависит от вашего требования компенсировать потери узлов:

  • 1 управляющий узел: требуется 1 работоспособный узел
  • 3 узла-менеджера: для кворума требуется 2 исправных узла, может компенсировать 1 неработоспособный узел
  • 5 управляющих узлов: требуется 3 исправных узла для кворума, может компенсировать 2 неработоспособных узла
  • 7 управляющих узлов: требуется 4 исправных узла для кворума, может компенсировать 3 неработоспособных узла
  • не рекомендуется использовать более 7 из-за накладных расходов

Использование четного числа не обеспечивает большей надежности, это скорее наоборот. Если у вас есть 2 узла менеджера, потеря любого из них делает кластер безголовым. Если кластер не способен создать кворум (требуется, чтобы большинство узлов менеджера были исправны), кластер безголовый и им нельзя управлять. Запущенные контейнеры продолжают выполняться, но новые контейнеры не могут быть развернуты, отказавшие контейнеры не будут повторно развернуты, …).

Люди обычно развертывают конфигурацию swarm с помощью инструмента управления конфигурацией, такого как Ansible, Puppet, Chef или Salt.