我试图在由三个乌藨子PI组成的群上运行服务。我有一个管理者和两个工作者节点。问题是,有时工作节点的状态是“关闭”,即使节点被正确地打开并连接到网络。我刚开始使用Docker,所以我可能做错了什么,但一切似乎都设置正确。你怎么避免这种“低落”状态
z9smfwbn1#
我以前也遇到过同样的问题。您可以通过清理有问题的节点上的/var/lib/docker/swarm/来修复它,然后将其重新连接到swarm。
/var/lib/docker/swarm/
1) on problem node sudo systemctl stop docker sudo rm -rf /var/lib/docker/swarm 2) on swarm manager docker node rm <problem-node-name> docker swarm join-token worker docker swarm join --token <token> <manager_ip>:2377 3) on problem node sudo systemctl start docker enter code here docker swarm join --token <token> <manager_ip>:2377
h4cxqtbf2#
这可能取决于您的docker的确切版本,但您的问题是在this thread中发现的。一个可能的解决方案是做一个docker ps,这似乎有助于节点加入群。
docker ps
roejwanj3#
在我的例子中,docker节点的默认路由无效,DNS不起作用。无论如何,我可以通过ip地址在机器上使用ssh。我先测试了一下:
ping google.com
但没有成功。然后我更改了默认路由:
route -n route add default gw 10.1.2.3 route del default gw 10.1.2.1 (offending gateway)
最后将DNS服务器从:
/etc/resolv.conf
然后节点自动出现了。
oewdyzsn4#
在我的情况下,(虚拟)网络设备发生了变化。刚刚调整了设置,为每个有问题的节点做了docker swarm leave和docker swarm join,然后从管理器中删除了(docker node rm ...)它们。从那以后就没有问题了。另一个原因似乎与Ubuntu中的ufw有关(由一些系统故障引起)。如果你使用Ubuntu execute:ufw disable,然后ufw enable,节点将再次自动加入。如果你没有使用Ubuntu,请暂时禁用防火墙,以检查是否与此相关。
docker swarm leave
docker swarm join
docker node rm ...
ufw
ufw disable
ufw enable
4条答案
按热度按时间z9smfwbn1#
我以前也遇到过同样的问题。您可以通过清理有问题的节点上的
/var/lib/docker/swarm/
来修复它,然后将其重新连接到swarm。h4cxqtbf2#
这可能取决于您的docker的确切版本,但您的问题是在this thread中发现的。
一个可能的解决方案是做一个
docker ps
,这似乎有助于节点加入群。roejwanj3#
在我的例子中,docker节点的默认路由无效,DNS不起作用。无论如何,我可以通过ip地址在机器上使用ssh。我先测试了一下:
但没有成功。然后我更改了默认路由:
最后将DNS服务器从:
然后节点自动出现了。
oewdyzsn4#
在我的情况下,(虚拟)网络设备发生了变化。刚刚调整了设置,为每个有问题的节点做了
docker swarm leave
和docker swarm join
,然后从管理器中删除了(docker node rm ...
)它们。从那以后就没有问题了。另一个原因似乎与Ubuntu中的
ufw
有关(由一些系统故障引起)。如果你使用Ubuntu execute:ufw disable
,然后ufw enable
,节点将再次自动加入。如果你没有使用Ubuntu,请暂时禁用防火墙,以检查是否与此相关。