docker三剑客之swarm集群管理,实现多台主机应用快速部署实现负载均衡以及节点的横向扩容

应用场景:如何将一个应用快速部署到100台服务器上?
  • 布置leader节点:
docker swarm init

在这里插入图片描述

  • 根据提示在各node节点上执行:
docker swarm join --token SWMTKN-1-09mhc7q5anpqtiyqk7mu14ziu8qmzdgcv3auv9y2oxh2r99fjg-199v4b5ta72vdcq47cfixmae7 172.25.254.189:2377

在这里插入图片描述

  • leader节点查看node节点
docker node ls

在这里插入图片描述

  • 创建成功的节点,自动新建overlay类型网络
docker network ls

在这里插入图片描述
在这里插入图片描述

  • 在leader节点创建服务部署在2个node 节点上,并查看
docker service create --name my_cluster --replicas 2 -p 80:80 nginx
docker service ls
docker service ps my_cluster

在这里插入图片描述

  • 访问主机80端口,验证轮询是否成功
echo sm1.westos.com > index.html
docker cp index.html c18df4bbb520:/usr/share/nginx/html/index.html
echo sm3.westos.com > index.html
docker cp index.html 0cd77e241bb8:/usr/share/nginx/html/index.html

在这里插入图片描述

应用场景:你的公司在做一个促销活动,用户访问量已经达到上限瓶颈,服务器压力已经到
极限,如何快速的实现扩容,从而保证业务的正常运行。
  • 在leader节点上
docker service  scale my_cluster=5  #扩容起5个服务器
docker service ps my_cluster 

在这里插入图片描述

docker service  scale my_cluster=10
docker search visualizer
docker pull dockersamples/visualizer
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
  • 在客户端进行页面访问查看:
http://172.25.254.189:8080/

在这里插入图片描述

  • down掉一个主机的服务,自动对容器进行将康检测。
systemctl stop docker

在这里插入图片描述

  • leader节点的降级和node节点的升级:
docker node promote sm2   #在master上对sm2进行升级
docker node demote sm1    #然后对自己进行降级,sm2主动升为master节点。

在这里插入图片描述

  • 原本master节点上的容器,也自动迁移到新的master节点上
 docker ps

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值