Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker Swarm-“;获取节点时出错<;id>;:节点<;id>;未找到”;重复的。管理器节点继续查找已删除的节点 操作系统:CentOS 7,内核3.10.0-862.el7.x86_64 Docker版本:19.03.12社区,API 1.40_Docker_Docker Swarm - Fatal编程技术网

Docker Swarm-“;获取节点时出错<;id>;:节点<;id>;未找到”;重复的。管理器节点继续查找已删除的节点 操作系统:CentOS 7,内核3.10.0-862.el7.x86_64 Docker版本:19.03.12社区,API 1.40

Docker Swarm-“;获取节点时出错<;id>;:节点<;id>;未找到”;重复的。管理器节点继续查找已删除的节点 操作系统:CentOS 7,内核3.10.0-862.el7.x86_64 Docker版本:19.03.12社区,API 1.40,docker,docker-swarm,Docker,Docker Swarm,你好, 我运行的是Docker Swarm集群,有3名经理和9名工人 昨天,由于未知原因,集群被破坏,我在一个管理器上重新初始化(docker swarm init——强制创建新集群),并让其他节点再次加入集群 现在只有一个管理器(我们称之为m1),m1节点每秒钟打印一次这样的日志(/var/log/messages): 这三个ID(2rcgf7rzqvojr4yzyx3ko13ut,i4i2…,xkig…)是分配给三个工作节点(例如,w1、w2、w3)的ID 当我昨天试图恢复集群时,我做到了

你好,

我运行的是Docker Swarm集群,有3名经理和9名工人

昨天,由于未知原因,集群被破坏,我在一个管理器上重新初始化(
docker swarm init——强制创建新集群
),并让其他节点再次加入集群

现在只有一个管理器(我们称之为m1),m1节点每秒钟打印一次这样的日志(/var/log/messages):

这三个ID(
2rcgf7rzqvojr4yzyx3ko13ut
i4i2…
xkig…
)是分配给三个工作节点(例如,w1、w2、w3)的ID

当我昨天试图恢复集群时,我做到了

# on m1
docker swarm init --force-new-cluster

# then, on w1
docker swarm leave --force
docker swarm join --token .... m1:2377
(I guess the ID of w1 was changed from 2rcgf7rzqvojr4yzyx3ko13ut to new one at this point)

# same on w2 and w3
目前,没有ID为
2rcgf7rzqvojr4yzyx3ko13ut
的节点,但manager节点仍在寻找它

我甚至无法按ID删除节点:

# on m1
# docker node rm 2rcgf7rzqvojr4yzyx3ko13ut
Error: No such node: 2rcgf7rzqvojr4yzyx3ko13ut
我现在能做什么?我希望在m1上重新启动docker守护进程可能会有所帮助,但我担心集群会再次被破坏。这是一个现场服务环境,所以我要非常小心

您可能会说,“首先,将更多节点升级为管理器,然后尝试在管理器上重新启动dockerd”。 我昨天试过了。但是
docker node promote m2 m3
命令挂起,突然我失去了m1上的仲裁,我无法执行任何群集操作,最后我不得不重新初始化群集。。。所以我计划在几个月后的下一个维护日重新启动每个节点,并从头开始初始化整个集群。我想这是另一个话题。现在,我只想让m1管理器停止寻找这3个节点

谢谢

编辑:

两周后,在我们的定期维护日,我计划
docker stack rm
所有docker stack,在m1和(如果需要)其他节点上重新启动docker daemon,并且(如果问题仍然存在)重新初始化整个Swarm集群

但当我移除一个Docker堆栈时,m1上的Docker守护进程突然停止输出“node not found”消息。然后我可以将其他节点提升为管理器。看来一切都开始顺利了

所以。。。我找不到这个问题的确切原因。我只是猜测,当我重新初始化swarm集群时,堆栈信息没有得到正确更新,因此管理器一直试图找到不存在的节点来分发容器

# on m1
# docker node rm 2rcgf7rzqvojr4yzyx3ko13ut
Error: No such node: 2rcgf7rzqvojr4yzyx3ko13ut