docker swam 删除一个节点的流程
- drain node
$ docker node update --availability drain <node>
改成drain的目的是swarm把container迁移到其他node上去。
- demote node
$ docker node demote <node>
把node从manger改成worker,否则swarm限制是不能从cluster里面删除的。
如果一个node已经是worker了,再次执行demote命令会提示警告信息,但不是错误,命令行的返回值还是0。
- leave cluster
$ docker swarm leave
离开swarm cluster,在cluster里面这个节点会被标记为stop状态。
- rm node
$ docker node rm <node>
删除node,删除必须要求节点是stop状态(第三步操作);当然也可以使用--force参数而忽略非stop状态。
注意:
步骤1,2,4可以在任何manager节点上执行,步骤3必须在待删除节点上执行(也可以看到它不带<node>参数)。
网友评论