Рабочие узлы Docker не могут автоматически присоединиться к рою (Azure)

Я немного разбирался в этом вопросе, и мне не повезло, поэтому я подумал, что опубликую здесь. Коротко говоря, я управляю роем Docker на Azure. Все прошло отлично и работает нормально, пока пару дней назад.

В то время рабочие узлы начали не присоединяться к рою автоматически. Я могу выполнить оболочку для рабочих узлов и присоединиться "вручную" (т. Е. Выполнить docker swarm join команда).

Это мой текущий рой:

ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION y71cqwt9emeah5h8xihke7ev0 swarmm-agent-1395761400008N Ready Active 18.09.0 aju31jt00o83bwar9ecib47ai swarmm-agent-1395761400008R Ready Active 18.09.0 822fetitn9ipzkfnk19u1jbl5 * swarmm-master-13957614-0 Ready Active Leader 18.05.0-ce

Извиняюсь за форматирование, но, возможно, обратите внимание на ENGINE VERSION, Это единственное, что изменилось - рабочие раньше были 18.05-ce (они сейчас 18.09.0).

Для фона узел Leader - это подготовленная виртуальная машина (с набором доступности), в то время как рабочие узлы взяты из предоставленной VMSS.

Если я масштабирую VMSS, чтобы добавить другую виртуальную машину, она запускается, но не присоединяется к рою. Я должен посмотреть IP-адрес новой виртуальной машины в Azure Resource Explorer, ssh на этот IP-адрес (из узла Лидер) и вручную запустите join команда (с токеном соединения, который у меня есть).

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

Версия докера на ведущем узле:

Docker версия 18.05.0-ce, сборка f150324

Тогда как на узлах это:

Докер версия 18.09.0, сборка 4d60db4

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

Наконец, после того, как узел присоединился к рою, он будет периодически переходить в состояние "Вниз", прежде чем вернуться на несколько минут позже. Мне неясно, что делает узел, когда это происходит... возможно, уйти и снова присоединиться?

Любой свет, который кто-то может пролить на это, был бы очень признателен!

Ура, Бен

Изменить: я выяснил, как просмотреть журналы инициализации рабочего докера. Все хорошо (он устанавливает Docker и т. Д.), Но когда узел пытается присоединиться к рою, появляется эта ошибка:

parse <ip address>:2375: first path segment in URL cannot contain colon

Выполненная команда:

docker -H <ip address>:2375 swarm join-token -q worker

Я могу вручную присоединиться к рою с помощью этой команды:

docker swarm join --token <token> <ip address>:2377

0 ответов

Другие вопросы по тегам