Linux下Docker Swarm集群安装Visualizer(visualizer.tar)(二)

续我的上篇博文:https://mp.csdn.net/postedit/88568095

 

Visualizer是一个图形化界面,显示Docker Swarm集群中各个节点状态、运行容器以及负载情况的监控工具。

 

环境部署:(因为是续上篇博文,所以环境是已经部署好的)

搭建好Docker Swarm集群

集群节点:server1(manager)、server2(node)、server3(node)

 

一、Visualizer安装与部署

 

首先,在网上下载visualizer.tar

 

1.在server1上,导入visualizer镜像

 

[root@server1 ~]# docker load -i visualizer.tar 
  • docker images

 

2.创建swarm的监控容器

 

[root@server1 ~]# docker service create --name viz \
> --publish=8888:8080/tcp \   #或者--publish 8888:8080 或者-p 8888:8080
> --constraint=node.role==manager \
> --mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
> dockersamples/visualizer
  • 查看运行viz的容器

  • 查看8888端口和8080端口

 

3.测试:web页面去监控管理的集群每个容器的状态

 

 

  • 当server3的docker服务关闭后,web从server3转移到别的节点(这里是server2)
[root@server1 ~]# docker service ps web 
ID                  NAME                IMAGE               NODE                DESIRED STATE       CURRENT STATE               ERROR                              PORTS
au4y4xv9gtkw        web.1               nginx:latest        server2             Ready               Preparing 3 seconds ago                                        
j9bafv99eccf        web.2               nginx:latest        server1             Running             Running about an hour ago                                      
smmgz35w8hzi        web.3               nginx:latest        server2             Running             Running about an hour ago                                      


值的一提的是:即使server3的docker服务重新启动,web也不会从server2重新移回到server3。除非执行增加服务或减少服务的操作,使Docker swarm集群重新分配节点的数目。


 

  • 当增加服务的数目时,Docker  swarm集群会自动分配每个节点的web数目,并展示到监控界面
[root@server1 ~]# docker service scale web=6

 

  • 同理当减少服务的数目时,Docker  swarm集群会自动分配每个节点的web数目,并展示到监控界面
[root@server1 ~]# docker service scale web=3

 

二、滚动更新(灰度更新)

 

1、导入要更新镜像(这里以httpd镜像为例。值的注意的是:滚动更新用的镜像和之前的镜像必须是平行的,即结构类似,比如端口等等——因为上篇博文中创建web服务时用到了80端口,所以滚动更新使用的镜像中也必须是80端口)

 

[root@server1 ~]# docker load -i httpd.tar 
[root@server2 ~]# docker load -i httpd.tar 
[root@server3 ~]# docker load -i httpd.tar 

 

2、增加web服务数目为30(这步可做,可不做。)

[root@server1 ~]# docker service scale web=30
  • 看到的镜像是nginx:latest(滚动更新之前)

 

3、设定每5秒更新一次,每次更新10个

[root@server1 ~]# docker service update --image httpd --update-delay 5s --update-parallelism 10 web
  • 看到的镜像是httpd:latest(滚动更新之后)

 

  • 更新之后,无论是增加服务的数目,还是缩小服务的数目,其镜像还是滚动更新之后的镜像(httpd:latest),不会恢复为原来的镜像(nginx:latest),除非再次执行滚动更新的操作,将镜像滚动更新为nginx:latest。这里以缩小服务的数目为例
[root@server1 ~]# docker service scale web=3

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值