Docker swarm集群增加节点
- 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列说明:
显示调度程序是否可以将任务分配给节点
- Active 意味着调度程序可以将任务分配给节点。
- Pause 意味着调度程序不会将新任务分配给节点,但现有任务仍在运行。
- Drain 意味着调度程序不会向节点分配新任务。调度程序关闭所有现有任务并在可用节点上调度它们。
Docker swarm集群删除节点
- 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服务
[root@node_t_37 ~]#systemctl stop docker.service 停止docker服务(删除节点前,需先停该节点的docker服务)
登录到node_t_36上,将节点node_t_37降级成worker,然后删除。只能删除worker基本的节点。
[root@node_t_36 zyx_p]# docker node demote node_t_37 降级
[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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2018-02-05 两天快速开发一个自己的微信小程序