- docker swarm初始化
docker swarm init
- docker swarm 增加节点
在已经初始化的机器上执行:# docker swarm join-token manager
To add a manager to this swarm, run the following command:
docker swarm join \
--token SWMTKN-1-3by2djvsu8cyzo8pzzqrrsmoiszlcmj1ymsyzrqu0e5m4myar6-3ypif5p1vyzv7j7h362ah1kbj \
192.168.52.37:2377
将结果复制到各个节点机器上执行即可。
查看集群节点:
[root@node_t_36 zyx_p]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
5i800ms4daxhfk4z02wux52bl node_t_37 Ready Active Reachable
kcd9oc41643o24fpmdi0j25s4 node_t_38 Ready Active Reachable
sacj1t4flf4e275d2fwfho6q3 * node_t_36 Ready Active Leader
- 节点MANAGER STATUS列说明:
显示节点是属于manager或者worker,没有值 表示不参与群管理的工作节点。
- Leader 意味着该节点是使得群的所有群管理和编排决策的主要管理器节点。
- Reachable 意味着节点是管理者节点正在参与Raft共识。如果领导节点不可用,则该节点有资格被选为新领导者。
- Unavailable 意味着节点是不能与其他管理器通信的管理器。如果管理器节点不可用,您应该将新的管理器节点加入群集,或者将工作器节点升级为管理器。
- 节点AVAILABILITY列说明:
Docker swarm集群删除节点显示调度程序是否可以将任务分配给节点
- Active 意味着调度程序可以将任务分配给节点。
- Pause 意味着调度程序不会将新任务分配给节点,但现有任务仍在运行。
- Drain 意味着调度程序不会向节点分配新任务。调度程序关闭所有现有任务并在可用节点上调度它们。
- docker swarm集群已经有容器服务,删除节点node_t_37 的时候,需要先将该节点的服务迁移到其他节点,确保容器服务正常
[root@node_t_37 zyx_p]# docker node update --help
Usage: docker node update [OPTIONS] NODE
Update a node
Options:
--availability string Availability of the node ("active"|"pause"|"drain")
--help Print usage
--label-add list Add or update a node label (key=value)
--label-rm list Remove a node label if exists
--role string Role of the node ("worker"|"manager")
[root@node_t_37 ~]#docker node update --availability drain node_t_37 将节点停用,该节点上的容器会迁移到其他节点
[root@node_t_37 ~]#docker ps 检查容器迁移情况,当node_t_37的容器都迁移完后,停止docker服务
登录到node_t_36上,将节点node_t_37降级成worker,然后删除。只能删除worker基本的节点。
[root@node_t_36 zyx_p]# docker node demote node_t_37 降级
[root@node_t_37 ~]#systemctl stop docker.service 停止docker服务(删除节点前,需先停该节点的docker服务)
[root@node_t_36 zyx_p]# docker node rm node_t_37 删除
删除后的集群: [root@node_t_36 zyx_p]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
kcd9oc41643o24fpmdi0j25s4 node_t_38 Ready Active Reachable
sacj1t4flf4e275d2fwfho6q3 * node_t_36 Ready Active Leader