1.环境准备
a.服务器
节点 | IP | docker版本 | 操作系统 |
---|---|---|---|
manager | 10.1.8.27 | 19.03.12 | centos 7.8 |
worker | 10.1.8.28 | 19.03.12 | centos 7.8 |
b.安装docker
参考:https://www.jianshu.com/p/7ef1adc651f5
c.配置docker监听端口
修改文件vi /usr/lib/systemd/system/docker.service
修改ExecStart参数,添加-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
2.创建集群
a.初始化集群
这里的 IP 为创建机器时分配的 ip。
docker swarm init --advertise-addr 10.1.8.27
b.swarm集群与服务器网段冲突问题
背景
docker swarm创建的默认网络为172.17.xx.xx与服务器所在物理网段冲突
解决方案
docker network create --driver=bridge --subnet 172.21.0.1/24 docker_gwbridge
c.加入工作节点
在manager节点执行以下命令,获取工作节点加入集群脚本
docker swarm join-token worker
工作节点加入集群
docker swarm join --token SWMTKN-1-4oogo9qziq768dma0uh3j0z0m5twlm10iynvz7ixza96k6jh9p-ajkb6w7qd06y1e33yrgko64sk 10.1.8.27:2377
3.测试集群
a.查看节点
docker node ls
b.测试nginx服务
- 创建nginx服务, 有两个副本
docker service create --replicas 2 -p 8088:80 --name nginx nginx:latest
- 查看服务部署情况
docker service ps nginx
- 手动扩展服务副本个数
docker service scale nginx=3