1.yml文件部署swarm集群
(1)在server1上删除之前创建的服务和容器
server1是swarm集群的管理节点,在server1上面删除server2、server3和server4的容器自动也就释放了
(2)在server1,server2、server3、server4上面查看运行web服务的容器是否被释放
(3)在真机上面给server1节点发送yml文件
(4)server1新建一个目录,将yml文件移入
(5)编辑yml文件,加入容器的数据卷
副本三个,1次更新两个,10s更新一次
version: “3.7”
services:
web:
image: nginx:latest
ports:
- “80:80”
networks:
- webnet
volumes:
- “webdata:/usr/share/nginx/html”
deploy:
replicas: 3
update_config:
parallelism: 2
delay: 10s
restart_policy:
condition: on-failurevisualizer:
image: dockersamples/visualizer:latest
ports:
- “8080:8080”
stop_grace_period: 1m30s
volumes:
- “/var/run/docker.sock:/var/run/docker.sock”
deploy:
placement:
constraints: [node.role == manager]
networks:
webnet:volumes:
webdata:
(6)利用yml文件开始创建swarm集群
(7)可以看到开启了三个web服务,在server1、server3、server4上各运行了一个容器
也可以看到数据卷
(8)在浏览器里面查看,成功
所以文件方式比之前的命令方便多了
而且如果需要改变的化只需要修改文件,重新运行即可
不再需要从头开始部署
2.修改一下nginx服务的默认发布页面 ,server1,3,4分别改
3,4同理
在真机测试,可以看到三次一个循环,也实现了负载均衡
3.修改yml文件,写入副本个数为6
更新
4.修改yml文件,写入对容器使用资源的限制
编辑文件
更新
查看服务运行的情况
查看资源的限制是否生效
cpu
内存
可以看出已经生效
总结:以上就是利用yml文件部署swarm集群的基本方法和常见的设置
可以看出文件比命令方式方便多了