開源docker輕量級管理平臺shipyard部署(中文版)

一:簡介

    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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章