一:簡介
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、images、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