docker swarm集群

实验环境:

集群节点ip
server3172.25.26.3
server4172.25.26.4
server5172.25.26.5

swarm集群的作用

通过把多个Docker Engine聚集在一起,形成一个大的docker-engine,对外提供容器的集群服务。同时这个集群对外提供Swarm API,用户可以像使用Docker Engine一样使用Docker集群。
在这里插入图片描述

swarm集群的创建

[root@server3 images]# docker swarm init

在这里插入图片描述
在server3初始化集群。

[root@server4 ~]# docker swarm join --token SWMTKN- 1-26txauvv56seca2skkqoe7gfkg4d5yjvicbpc0sqlljr0c0kd9-bn1wxwf3xb5vvqti119fnw7r7 172.25.26.3:2377

将server3初始化时出来的结果在server4和server5执行,将server4和server5加入集群,作为节点。

[root@server3 images]# docker node ls

在这里插入图片描述
查看集群节点,三个节点都起来了。

[root@server3 ~]# docker network create -d overlay webnet

在这里插入图片描述
创建一个私有网络。

[root@server3 ~]# docker service create --name web --network webnet --publish 80:80 --replicas 3 nginx

在这里插入图片描述
创建3个搭建nginx的容器,注意在所有节点上都要有nginx的镜像,l拉起的容器将平均分到3个节点上。

[root@server3 ~]# docker service ps web

在这里插入图片描述
可以看到,在每一个节点都打开了一个容器。

[root@server3 ~]# docker service scale web=9

在这里插入图片描述
拉伸,将容器数量拉到9个,这样,每个节点应该有开了3个容器。
在这里插入图片描述
也可以在节点进行查看
在这里插入图片描述
生成了3个新容器。

[root@server3 ~]# docker service scale web=3

在这里插入图片描述
同样,可以对拉起的容器进行缩减,这里缩减到3个,只需要修改一下数字就可以了。
在这里插入图片描述
这样在容器内搭建的nginx服务是可以实现负载均衡的,这个是搭建集群时自动就布置好的,不需要手动布置,现在就可以测试一下,只要在每个容器内准备测试页就可以了。

[root@server3 ~]# echo server3 > index.html
[root@server3 ~]# docker cp index.html web.3.7tnf23oi2iqzkha3sexg6pod5:/usr/share/nginx/html
[root@server4 ~]# echo server4 > index.html
[root@server4 ~]# docker cp index.html web.1.y9lc7045i7vbp7sypozp5zg52:/usr/share/nginx/html
[root@server5 ~]# echo server5 > index.html
[root@server5 ~]# docker cp index.html web.2.y52ogmk6t86ksepk02h4yewj7:/usr/share/nginx/html

设置测试页。
在这里插入图片描述
访问server3十次,可以发现访问是轮循的实现了负载均衡。
之后如果在拉进新的容器,也在这个负载均衡的集群内。

docker集群的监控

[root@server3 images]# docker load -i visualizer.tar 

首先,在所有节点导入这个镜像。

[root@server3 images]# 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

打开监控
在浏览器输入ip:8080进行测试。
在这里插入图片描述
这里可以查看到所有容器的信息

[root@server3 images]# docker service update --image httpd --update-delay 5s --update-parallelism 5 web

在这里插入图片描述
当容器内的服务更新时,监控也会发生变化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值