Docker容器技术之swarm集群+visualizer监控

Swarm介绍:

Swarm 是 Docker 官方提供的一款集群管理工具,其主要作用是把若干台 Docker 主机抽象为一个整体,并且通过一个入口统一管理这些 Docker 主机上的各种 Docker 资源。

Docker Swarm 包含两方面:一个企业级的 Docker 安全集群,以及一个微服务应用编排引擎。

Swarm 和 Kubernetes 比较类似,但是更加轻,具有的功能也较 kubernetes 更少一些。好在swarm已经被docker集成,安装docker时会自动附带swarm,使得其配置变得相当简单。两条指令便可以将集群创建出来。



swam集群搭建:

swarm已经集成到了docker中,不需要额外下载软件包。只需要各个节点提前装好docker即可。
下面是我的docker版本。

在这里插入图片描述

节点服务器:

server1管理节点【manager】:172.25.12.1
server2work节点:172.25.12.2
server3work节点 :172.25.12.3

管理节点server1:

   docker swarm init   #初始化

在这里插入图片描述

工作节点server2和server3:
根据提示运行指令:docker swarm join --token SWMTKN-1-3trxa0o9plhvc2pakfas7ksvzi0bbrvh80cyifx0igctxtxewc-02uk1cr5jt458ipx91ybb0jqh 172.25.12.1:2377

在这里插入图片描述

swarm集群通过以上两条指令就搭建完成了,虽然还没有为其添加功能、服务、监控等,但是集群已经出来了。

在这里插入图片描述

下面我们使用nginx服务,做一个nginx集群,实现负载均衡和高可用。

1.创建nginx集群

docker service create --replicas 3 --name web -p 80:80 nginx:latest
#replicas指定创建的服务个数,-p端口映射

在这里插入图片描述

在这里插入图片描述

2.写入各个nginx节点上的默认发布文件

echo server2.2 > index.html  
#将server2.2输入到index.html文件中   #这里默认发布文件中写入一个能辨别是哪台主机那个容器的内容即可
docker cp index.html 74bed491cd22:/usr/share/nginx/html   
#复制Index.html文件到该ID容器的/usr/share/nginx/htnl目录中

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

3.访问测试:轮询得到各个节点资源

for i in {1..10};do curl http://172.25.12.1; done
#shell循环,访问10次,我是在172.25.12.1这个ip的主机上拉起的集群

在这里插入图片描述

4.弹性伸缩【集群数量的扩展或缩减】

docker service scale web=5
#扩展到5个nginx服务

在这里插入图片描述

这里要注意,正常情况docker swam集群分配服务会运行在哪台主机上时,是根据主机的使用情况,是否可运行容器,等多方面考评的。通常结果和均衡分配差不多。这里我的server1可能是使用cpu以及内存等占用较大,评比后容器就没有在server1上建立,而是被分配到了其他节点。
!!我查看过了,火墙没有问题,都是关闭的,连接良好,docker node ls查看状态也都正常,所以应该是系统资源使用情况不平衡导致的重新分配。

在这里插入图片描述

在这里插入图片描述

5.添加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

在这里插入图片描述

网页浏览:在这里插入图片描述

之后就可以通过页面图形方式达到监控的目的了。


        大大的小小阳
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值