docker集中化管理平台--shipyard部署

Shipyard是建立在docker集群管理工具Citadel之上的可以管理容器、主机等资源的web图形化工具,包括core和extension两个版本,core即shipyard主要是把多个 host上的 containers 统一管理(支持跨越多个host),extension即shipyard-extensions添加了应用路由和负载均衡、集中化日志、部署等;Shipyard是在Docker Swarm实现对容器、镜像、docker集群、仓库、节点进行管理的web系统。

shipyard特点:

  1)支持节点动态集群,可扩展节点的规模(swarm、etcd方案)
  2)支持镜像管理、容器管理、节点管理等功能
  3)可视化的容器管理和监控管理
  4)在线容console终端

 

 Shipyard环境包括一下docker容器:

1)RethinkDB
deploy首先启动的就是RethinkDB容器,shipyard采用RethinkDB作为数据库来保存用户等信息
2)Discovery
为了使用Swarm,我们需要一个外部的密钥值存储群容器,shipyard默认是采用了etcd。
3)shipyard_certs
证书管理容器,实现证书验证功能
4)Proxy
默认情况下,Docker引擎只监听Socket,我们可以重新配置引擎使用TLS或者使用一个代理容器,转发请求从TCP到Docker监听的UNIX Socket。
5)Swarm Manager
Swarm管理器
6)Swarm Agent
Swarm代理,运行在每个节点上。
7)Controller
shipyard控制器,Remote API的实现和web的实现。

Shipyard环境部署:

下载官方一键部署脚本

https://shipyard-project.com/deploy            这个地址已经失效
提取密码: kgqi
chmod 755 shipyard-deploy
sh shipyard-deploy
Deploying Shipyard
 -> Starting Database
 -> Starting Discovery
 -> Starting Cert Volume
 -> Starting Proxy
 -> Starting Swarm Manager
 -> Starting Swarm Agent
 -> Starting Controller
Waiting for Shipyard on 172.16.60.213:8080
 
Shipyard available at http://172.16.60.213:8080
Username: admin Password: shipyard
Username: admin Password: shipyard
查看启动的容器:

如果想要修改web访问端口,则操作如下:

cat shipyard-deploy |grep 8080
echo "  PORT: specify the listen port for the controller (default: 8080)"
SHIPYARD_PORT=${PORT:-8080}
比如将脚本中默认的8080端口改为80端口
sed -i 's/8080/80/g' shipyard-deploy 
然后重新部署即可
删除Shipyard环境操作
cat shipyard-deploy |ACTION=remove bash
Removing Shipyard
 -> Removing Database
 -> Removing Discovery
 -> Removing Cert Volume
 -> Removing Proxy
 -> Removing Swarm Agent
 -> Removing Swarm Manager
 -> Removing Controller
Done
Shipyard添加节点
cat shipyard-deploy| ACTION=node DISCOVERY=etcd://172.16.60.218:4001 bash
。。。。。。
Node added to Swarm: 172.16.60.220
此处的ip为主节点ip。
删除节点机
cat shipyard-deploy |ACTION=remove bash -s
Removing Shipyard
 -> Removing Database
 -> Removing Discovery
 -> Removing Cert Volume
 -> Removing Proxy
 -> Removing Swarm Agent
 -> Removing Swarm Manager
 -> Removing Controller
Done
Shipyard现在的开发者已经不再维护,但是可以在github上找到相关程序的源代码,我找到的源码链接附在下面:
该项目后端使用go语言进行开发,底层使用了swarm对docker进行跨主机连接,是页面化管理docker的一个较为不错的工具,也可以对其进行二次开发,借鉴使用。
原文链接:https://www.cnblogs.com/kevingrace/p/6867820.html,这个大神docker学的很溜,跟着老司机不翻车的哟,哈哈哈。
posted @ 2018-11-23 21:34  yanwangLOL  阅读(1022)  评论(0编辑  收藏  举报