一:简介
Shipyard(github)是建立在docker集群管理工具Citadel之上的可以管理容器、主机等资源的web图形化工具。包括core和extension两个版本,core即shipyard主要是把多个 Docker host上的 containers 统一管理(支持跨越多个host),extension即shipyard-extensions添加了应用路由和负载均衡、集中化日志、部署等。
1:特点:
1、支持多节点管理
2、完善的节点、镜像、容器管理
3、go语言开发,完美与docker结合
2:几个概念
engine
一个shipyard管理的docker集群可以包含一个或多个engine(引擎),一个engine就是监听tcp 端口的docker daemon。shipyard管理docker daemon、p_w_picpaths、containers完全基于Docker API,不需要做其他的修改。另外,shipyard可以对每个engine做资源限制,包括CPU和内存;因为TCP监听相比Unix socket方式会有一定的安全隐患,所以shipyard还支持通过SSL证书与docker后台进程安全通信。
rethinkdb
RethinkDB是一个shipyard项目的一个docker镜像,用来存放账号(account)、引擎(engine)、服务密钥(service key)、扩展元数据(extension metadata)等信息,但不会存储任何有关容器或镜像的内容。一般会启动一个shipyard/rethinkdb容器shipyard-rethinkdb-data来使用它的/data作为数据卷供另外rethinkdb一个挂载,专门用于数据存储。
#####################中文版部署部署要求####################
1:zookeeper集群;
2:Docker version 1.10.3 以上版本;
3:服务器网络可以访问国外镜像下载站点;
注意:本次集群部署的是汉化后的web页面;
########################################################
以上条件满足情况下,只需要部署如下服务:
二:安装部署:
deploy首先启动的就是RethinkDB容器,shipyard采用RethinkDB作为数据库来保存用户等信息
1:zk集群介绍;
本集群使用现有zookeeper集群:
node01.ptmind.com:2181
node02.ptmind.com:2181
node03.ptmind.com:2181
#安装数据库
RethinkDB 设计用来存储 JSON 文档的分布式数据库,可通过简单操作实现多机分布式存储。支持表的联合和分组查询。
docker run \
-ti \
-d \
–restart=always \
–name shipyard-rethinkdb \
rethinkdb
#Swarm管理器
docker run \
-ti \
-d \
–restart=always \
–name shipyard-swarm-manager \
swarm:latest \
manage –host tcp://0.0.0.0:3375 zk://node01.ptmind.com:2181,node02.ptmind.com:2181,node03.ptmind.com:2181
#运行web管理界面
docker run \
-ti \
-d \
–restart=always \
–name shipyard-controller \
–link shipyard-rethinkdb:rethinkdb \
–link shipyard-swarm-manager:swarm \
-p 38080:8080 \
dockerclub/shipyard:latest \
server \
-d tcp://swarm:3375
#本次部署使用net网络模式,container 网络不能实现跨主机通讯的,以上服务部署在一台主机
#验证:
打开浏览器访问:
shipyard-swarm-manager服务器IP地址:38080
三:服务器加入集群
#slave 节点只需要部署agent
#swarm节点加入,并列出容器
#使用zookeeper
docker run \
-ti \
-d \
–restart=always \
–name shipyard-swarm-agent \
swarm:latest \
join –addr 172.16.7.12:2375 zk://node01.ptmind.com:2181,node02.ptmind.com:2181,node03.ptmind.com:2181
以上服务部署完成后,在manager几点管理页面即可看到,新的节点加入集群;
相关资料:
https://hub.docker.com/r/dockerclub/shipyard/
https://segmentfault.com/a/1190000003995350%E6%96%87%E7%AB%A0
https://segmentfault.com/a/1190000003995350%E6%96%87%E7%AB%A0
转载于:https://blog.51cto.com/michaelkang/1786288