Я работаю над созданием Docker Swarm с тремя менеджерами, используя Docker CE 19.03 и три машины CentOS 7.
Я установил докер через yum, включил службу и запустил его.
Я создал «службу» firewalld и разрешил (согласно документации докеров):
Мне удалось запустить рой и присоединиться к рабочему. Третий сервер, к которому я пытался присоединиться в качестве менеджера, потерпел неудачу с
. Ответ об ошибке от демона: менеджер остановлен: не удалось инициализировать узел raft: ошибка rpc: code = Unknown desc = не удалось подключиться к потенциальному новому члену кластера используя его объявленный адрес: ошибка rpc: code = DeadlineExceeded desc = крайний срок контекста превышен
Поэтому я отказался с docker swarm leave
и попытался присоединиться в качестве рабочего. Проблем не получилось. Теперь почему я не могу присоединиться как менеджер, но успешно присоединиться как работник?
Я попытался разрешить 2376 / tcp (согласно https://www.digitalocean.com/community/tutorials/how-to- configure-the-linux-firewall-for-docker-swarm-on-centos-7 ) и отключение firewalld в одном диспетчере, чтобы проверить, не связана ли это проблема с брандмауэром, но я получил ту же ошибку.
Итак, урок усвоен, доверяйте сообщениям об ошибках.
Я применил свой шаблон службы firewalld и забыл перезагрузить firewalld, чтобы порты фактически не открывались.По-видимому, все эти порты на самом деле не требовались для присоединения в качестве рабочего, а в качестве менеджера.
Я заметил в моем балансировщике нагрузки, что мои контейнеры часто отображались как сбойные на этом хосте, когда они не были, что заставило меня дважды проверить все.
Существует ограничение по времени для жетона роя. Вы можете создать токен снова, чтобы присоединиться к