Docker Swarm删除节点

网友投稿 666 2022-10-18

Docker Swarm删除节点

节点上的主机如果想离开的话,可以自己直接执行docker swarm leave

然后你可以发现,原本跑在自己上面的容器被转移到别的容器上了。此时如果在manager节点上docker node ls看的话,这个节点已经Down了。

然后访问下这个节点的服务,也是理所当然的失败

想加入回来就重新JOIN一下

但此时注意两点,第一。对于manager来说之前的退出是Down状态,此时并没有从节点里把这个退出的节点删除,而我们有重新在节点上执行JOIN。这个时候是新建立了一个node,所以上图里面标注的两个,上面那个Down是自己的Leave,下面的Ready是这次自己新加入的身份。并且此时直接访问这个节点ip是没有服务的。

分别登陆每个节点

可以看到,一共5个容器,manager跑2,work1节点跑3个,新加入的节点work2没有跑。之后的新任务会被自动分给他的。如果着急测试,可以直接扩容类似这样 docker service scale nginx=8 从5个直接扩到8个,新node马上就会有活干了。

还有对于node节点自己leave之后,manager节点上看到的Down状态的节点,如果不要了,可以直接

docker node rm xxxx 删除

这样就干净了。

还有如果是manager节点想直接T某个节点出局怎么操作呢?

直接rm肯定会失败(此时强行-f也行,不过不建议)

先docker node update --availability drain hxss1xiw0dh9ii6x1che9f3qk 让这个node歇着去吧,此时再看下其他容器,会发现他的活都已经被分配给别人了。

上面是剩下干活的两个节点,一人四个活。而刚刚被歇着这个容器空了。

然后可以尝试删除docker node rm xxxx删除,但是还是失败,因为虽然不分配任务给他,但是他的状态不是Down所以不让删除,此时其实可以登录到node上,直接自己主动leave。此时manager会看到是Down状态,不过也可以直接强行-f,因为此时任务已经被排空了。

如果强行-f了,此时要注意,就是现在对于节点node来说,自己还是在Join状态,如果此时你在node上执行Join,她会说正在加入一个swarm,所以要先leave一下,再加入就OK了。

最后整理个小东西

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Docker安装kafka
下一篇:Java日志体系梳理分析示例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~