开源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、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
總結
以上是生活随笔為你收集整理的开源docker轻量级管理平台shipyard部署(中文版)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 读取excel文件内容代码
- 下一篇: openstack cluster 封装