Docker Worker节点无法自动加入swarm(Azure)

时间:2018-11-09 14:47:07

标签: azure docker swarm

我已经在这个问题上做了一些探索,没有运气,所以我认为我会在这里发布。简短的故事是我在Azure上运行Docker群。直到几天前,一切都进展顺利,并且运行良好。

那时,工作节点开始无法自动加入群集。我可以使用shell进入工作节点并“手动”加入(即:执行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节点是预配置的VM(具有可用性集),而worker节点来自预配置的VMSS。

如果我缩放VMSS来添加另一个VM,则VM 可以启动,但是 not 不能加入群集。我必须在Azure资源浏览器中从{Leader节点中查找新虚拟机的IP地址,ssh到该IP地址,然后手动运行join命令(带有连接令牌) )。

因此,您可能会想象这并不理想。就像join命令不再在VM启动时运行一样……但是我在日志中找不到达到此效果的任何内容(也没有任何错误)。

leader节点上的docker版本为:

  

Docker版本18.05.0-ce,内部版本f150324

在节点上是:

  

Docker版本18.09.0,构建4d60db4

不确定这是否与它有任何关系,但是我听闻有评论说,一群不同的Docker版本会导致不稳定。

最后,节点加入集群后,它将定期进入“关闭”状态,然后在几分钟后恢复正常。我不清楚发生这种情况时节点正在做什么……也许要离开并重新加入?

任何人都可以理解的亮光将不胜感激!

干杯, 本

编辑:我想出了如何查看worker 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 个答案:

没有答案