Visualizer是一个图形化界面,显示docker swarm集群中各个节点状态、运行容器以及负载情况的监控工具。
环境部署:
搭建好Docker Swarm集群
集群节点:server11(manager)、server12(node)、server13(node)
一、Visualizer安装与部署
1、安装Visualizer(三个节点)
[root@server11 ~]# docker load -i visualizer.tar
[root@server12 ~]# docker load -i visualizer.tar
[root@server13 ~]# docker load -i visualizer.tar
2、添加可视图形界面
[root@server11 ~]# 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
[root@server11 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c0f2e1e1e51b dockersamples/visualizer:latest "npm start" 17 seconds ago Up 14 seconds (health: starting) 8080/tcp viz.1.olo7tjgbj28l7qb0xp3w0uqaz
6268f0d0f599 nginx:latest "nginx -g 'daemon ..." 4 hours ago Up 4 hours 80/tcp web.6.ox30sgn3angjrm53fpzhix0f8
-
查看8080端口
3、测试
-
当server13的docker服务关闭后,web从server13转移到server12
二、滚动更新(灰度更新)
1、下载镜像
[root@server11 ~]# docker load -i rhel7-v1.tar
[root@server12 ~]# docker load -i rhel7-v1.tar
[root@server13 ~]# docker load -i rhel7-v1.tar
2、增加web服务数目为30
[root@server11 ~]# docker service scale web=30
3、设定每10秒更新一次,每次更新5个
[root@server11 ~]# docker service update --update-delay 10s --update-parallelism 5 --image rhel7:v1 web