docker swarm集群
2019-06-05 21:38
639 查看
实验环境:
集群节点 | ip |
---|---|
server3 | 172.25.26.3 |
server4 | 172.25.26.4 |
server5 | 172.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
当容器内的服务更新时,监控也会发生变化。
相关文章推荐
- 使用 Portainer 管理 Docker Swarm 集群
- Centos7的安装、Docker1.12.3的安装,以及Docker Swarm集群的简单实例
- Docker Swarm——集群管理
- docker swarm 集群及可视化界面的安装及配置
- Docker三节点swarm集群的使用(28)
- Docker学习笔记 — Swarm搭建Docker集群
- Docker Swarm集群
- 通过Kubernetes Minikube&Docker Swarm快速构建最小可行容器集群
- Docker Swarm集群初探
- Docker集群实验环境布署--swarm【2 搭建本地镜像仓库】
- Docker 1.12 以前的: swarm 搭建 docker 集群
- 多台服务器上利用 Docker Swarm 建立 RabbitMQ 集群
- Swarm+docker集群搭建
- 云计算之路-阿里云上-容器难容:容器服务故障以及自建 docker swarm 集群故障
- Docker 集群Swarm创建和Swarm Web管理
- 搭建Docker Swarm集群实战(一)(服务发现使用consul)
- Docker Swarm搭建生产环境的集群
- 『中级篇』在docker-swarm集群里通过serivce部署wordpress(46)
- Docker swarm 集群搭建
- Docker集群实验环境布署--swarm【3 注册服务监控与自动发现组件--consul】