docker--swarm集群部署
文章目录简介一、docker swarm 相关概念二、swam实践1.创建 Swarm 集群2.查看swarm集群节点3.部署swarm监控4.弹性伸缩5.滚动更新三、docker swarm集群管理命令简介Swarm 是 Docker 社区提供的唯一一个原生支持 Docker 集群管理的工具。Swarm可以把多个 Docker 主机组成的系统转换为单一的虚拟 Docker 主机,使得容器可以组成
·
文章目录
简介
Swarm 是 Docker 社区提供的唯一一个原生支持 Docker 集群管理的工具。
Swarm可以把多个 Docker 主机组成的系统转换为单一的虚拟 Docker 主机,使得容器可以组成跨主机的子网网络。Docker Swarm 是一个为 IT 运维团队提供集群和调度能力
的编排工具
一、docker swarm 相关概念
节点分为
管理 (manager) 节点
和工作 (worker) 节点
Manager:接收客户端服务定义,将任务发送到agnet节点,维护集群期望状态和集群管理功能以及leader选举。默认情况下manager节点也会运行任务,也可以配置只做管理任务。
worker:接收并执行从管理节点分配的任务,并报告任务当前的状态,以便Manager节点维护每个服务期望状态。
任务 (Task)
是 Swarm 中的最小的调度单位,目前来说就是一个单一的容器。
服务 (Services)
是指一组任务的集合,服务定义了任务的属性。
二、swam实践
1.创建 Swarm 集群
docker swarm init %初始化集群
docker swarm join --token SWMTKN-1-32axwyv0mqh43epu7igmmk2n00kxxnztm17f8vouy56sdh3gsc-74epd17ja8kbf4rrd2jjawmq3 172.25.1.1:2377 %执行初始化后会出现这个指令提示
在每个节点上执行docker swarm join --token SWMTKN-1-32axwyv0mqh43epu7igmmk2n00kxxnztm17f8vouy56sdh3gsc-74epd17ja8kbf4rrd2jjawmq3 172.25.1.1:2377 来加入集群
2.查看swarm集群节点
docker node ls
3.部署swarm监控
各个节点提前导入相关镜像:
docker pull dockersamples/visualizer
docker tag dockersamples/visualizer:latest visualizer:latest
部署:
docker service create --name=viz --publish=8080:8080/tcp \ %注意端口
--constraint=node.role==manager \
--mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock dockersamples/visualizer
在节点上运行容器,副本数为3:
4.弹性伸缩
docker service scale my_web=10 %将容器数量增加至10个
同理,将开启的容器数量缩减后,每个节点上的容器也将会随机减少:
docker service scale my_web=3 %将容器数量缩减至3个
5.滚动更新
docker service update --image httpd --update-parallelism 2 --update-delay 5s my_cluster
--image %指定要更新的镜像
--update-parallelism %指定最大同步更新的任务数(每次最多更新几个)
--update-delay %指定更新间隔
所需的镜像myapp:v2也要在每个节点提前下载好:
三、docker swarm集群管理命令
docker node promote 节点 | 节点升级 |
---|---|
docker node demote 节点 | 节点降级 |
docker swarm leave | 离开swarm集群 |
docker node rm 节点 | swarm master端删除集群节点 |
节点升级、降级:
更多推荐
所有评论(0)