我很黑! 发表于 2018-5-29 10:26:12

开源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
  
页: [1]
查看完整版本: 开源docker轻量级管理平台shipyard部署(中文版)