Docker三剑客之docker-swarm(1)


环境信息:
1、三台主机
2、一台作为主节点
3、剩余两台作为辅助节点

一、Docker swarm

(一)什么是Docker swarm?

Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源。
Swarm和Kubernetes比较类似,但是更加轻,具有的功能也较kubernetes更少。

(二)为什么要使用Docker swarm?

使用Docker swarm集群管理工具,可以使得Dokcer集群的管理更加简单方便。

二、Dokcer swarm命令行功能的使用

dicker swarm是集成在Docker中的命令,用起来十分方便

(一)初始化,在主节点上执行命令。

server1
1、将server1初始化为主节点
docker swarm init
Docker三剑客之docker-swarm(1)
初始化为管理节点之后,便会开启2377端口
Docker三剑客之docker-swarm(1)

(二)辅助节点设置

server2
Docker三剑客之docker-swarm(1)
server3
Docker三剑客之docker-swarm(1)
在主节点查看集群信息,可以看到server1是主节点。
Docker三剑客之docker-swarm(1)

三、Docker swarm调试使用

(一)nginx的部署:
docker service create -p 80:80 --replicas 3 --name web nginx
Docker三剑客之docker-swarm(1)

(二)dokcer service的查看
docker service ps web
Docker三剑客之docker-swarm(1)
可以看到每个机器上面均匀分布。
(三)负载均衡的测试
负载均衡的测试需使用哪个节点的IP进行测试?其实使用任意节点的ip地址都是可以的
为了更好的感受到测试的结果,在每一个容器中写入发布文件的内容
将写好的页面使用命令发送到容器内部的默认发布目录下。
Docker三剑客之docker-swarm(1)
这里的拷贝的时候需要使用到容器的id,使用docker ps查看
Docker三剑客之docker-swarm(1)Docker三剑客之docker-swarm(1)

四、容器的拉伸

在生产环境中,如果三个容器不够用了,那么还有一个很方便的功能,将部署容器的个数进行拉伸。
docker service scale web=6
Docker三剑客之docker-swarm(1)

五、可视化软件visualizer

(一)visualizer的安装
完成之后可以作一个简单的监控,使用名字叫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
(二)软件的使用
部署完成之后就可以在web端进行查看,输入任意一台机器的ip均可,但是注意端口,我们将端口映射为8080。所以打开也要加端口号。
Docker三剑客之docker-swarm(1)
实时监控。当某一台出现问题的时候,可视化软件会很快显示出问题。
Docker三剑客之docker-swarm(1)