#docker #docker-swarm #docker-machine
#docker #docker-swarm #docker-machine
Вопрос:
Я знаю, что это основной вопрос. Но я новичок в docker и у меня есть этот запрос. Нужно ли мне устанавливать docker на все мои узлы, которые являются частью моего режима swarm?. Если да, то какими способами я могу установить docker на все мои узлы за один раз?
Комментарии:
Ответ №1:
Конечно, вам нужно установить Docker и его зависимости на каждом узле. На одном из управляющих узлов вам нужно инициировать swarm с помощью docker swarm init
, а затем вы присоединяетесь к другим машинам либо в качестве управляющих узлов, либо рабочих узлов.
Количество управляющих узлов зависит от вашего требования компенсировать потери узлов:
- 1 управляющий узел: требуется 1 работоспособный узел
- 3 узла-менеджера: для кворума требуется 2 исправных узла, может компенсировать 1 неработоспособный узел
- 5 управляющих узлов: требуется 3 исправных узла для кворума, может компенсировать 2 неработоспособных узла
- 7 управляющих узлов: требуется 4 исправных узла для кворума, может компенсировать 3 неработоспособных узла
- не рекомендуется использовать более 7 из-за накладных расходов
Использование четного числа не обеспечивает большей надежности, это скорее наоборот. Если у вас есть 2 узла менеджера, потеря любого из них делает кластер безголовым. Если кластер не способен создать кворум (требуется, чтобы большинство узлов менеджера были исправны), кластер безголовый и им нельзя управлять. Запущенные контейнеры продолжают выполняться, но новые контейнеры не могут быть развернуты, отказавшие контейнеры не будут повторно развернуты, …).
Люди обычно развертывают конфигурацию swarm с помощью инструмента управления конфигурацией, такого как Ansible, Puppet, Chef или Salt.