搭建Docker Swarm集群:
对于Swarm集群的搭建主要通过两种方式搭建:
1.在真实操作系统通过Docker安装(目前Swarm已集成在Docker原生应用)
2.通过Docker镜像部署,通过Docker容器微服务方式部署
3.其中,可以通过consul部署高可用网络服务保证Swarm集群网络高可用性
4.首先使用第一种方法搭建集群(本机部署)
docker swarm init
docker jion + token
这种方式搭建很简单,因为就是docker原生集成。但是这种方式与consul同事部署的时候会存在冲突,swarm默认使用的overlay网络是ingress
5.第二种方式通过镜像安装需先部署consul高可用overlay网络服务:
利用容器搭建SWARM与CONSUL高可用集群(非物理机安装服务器软件)
Consul管理节点:
docker run -d \
-p 8300:8300 \
-p 8301:8301 \
-p 8301:8301/udp \
-p 8302:8302 \
-p 8302:8302/udp \
-p 8400:8400 \
-p 8500:8500 \
-p 53:53 \
-p 53:53/udp \
-h consul-server \
--restart=always \
--name=consul_server progrium/consul -server -bootstrap -ui-dir=/ui -advertise 10.10.10.10 -client 0.0.0.0
Consul服务节点:
docker run -d \
-p 8300:8300 \
-p 8301:8301 \
-p 8301:8301/udp \
-p 8302:8302 \
-p 8302:8302/udp \
-p 8400:8400 \
-p 8500:8500 \
-h consul-node02 \
--restart=always \
--name=consul progrium/consul -server -join 10.10.10.10 -advertise 10.10.10.24 -client 0.0.0.0
下面是利用镜像部署swarm方式:
Swarm管理节点:
docker run -d -p 2375:2375 --restart=always --name swarm-manager swarm:latest manage consul://10.10.10.10:8500
Swarm服务节点:
docker run -d --restart=always --name swarm-agent swarm:latest join --addr 10.10.10.24:2375 consul://10.10.10.10:8500
集群信息查看:docker -H 10.10.10.10:2376 info
安装shipyard(可选):DOCKER管理界面UI
1、主节点启动rethinkdb
docker run -d --restart=always --name shipyard-rethinkdb rethinkdb
2、主节点启动shipyard
docker run -d --restart=always --name shipyard --link shipyard-rethinkdb:rethinkdb --link swarm-manager:swarm -p 8080:8080 shipyard/shipyard:latest server --rethinkdb-addr rethinkdb:28015 -d tcp://swarm:2375
安装Registrator(可选):服务发现
docker run -d --restart=always --privileged=true --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 10.10.10.23 consul://10.10.10.10:8500
https://github.com/docker/labs/blob/master/swarm-mode/beginner-tutorial/README.md