shipyard安装

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

1. 几个概念

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一个挂载,专门用于数据存储。

2. 搭建过程

修改tcp监听

Shipyard 要管理和控制 Docker host 的话需要先修改 Docker host 上的默认配置使其监听tcp端口(可以继续保持Unix socket)。有以下2种方式

  1. sudo docker -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock -d 启动docker daemon。如果为了避免每次启动都写这么长的命令,可以直接在/etc/init/docker.conf中修改。
  2. 修改/etc/default/dockerDOCKER_OPTS
    DOCKER_OPTS="-H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock"。这种方式在我docker version 1.4.1 in ubuntu 14.04上并没有生效。
重启服务
$ sudo docker -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock -d
验证
$ netstat -ant  |grep 4243
tcp6       0      0 :::4243                 :::*                    LISTEN
注意:如果是centos6系统必须添加 -H unix:///var/run/docker.sock

部署shipyard镜像

1.curl -s https://shipyard-project.com/deploy | bash -s 完成安装
注意:如果出现
INFO[1197] Registering on the discovery service every 1m0s...  addr=10.100.132.151:2376 discovery=etcd://10.100.132.153:4001
ERRO[1200] client: etcd cluster is unavailable or misconfigured
往往是因为ip_forward没有启用造成的,需要修改ip_forwad=1

vi /etc/sys/net/ipv4/ip_forward

2.如果有多太docker镜像,需要添加节点
将上面的脚本里面的ACTION修改为node
添加变量DISCOVERY=etcd://第一台服务器ip:4001

注意:如果出现
INFO[1197] Registering on the discovery service every 1m0s...  addr=10.100.132.151:2376 discovery=etcd://10.100.132.153:4001
ERRO[1200] client: etcd cluster is unavailable or misconfigured
往往是因为ip_forward没有启用造成的,需要修改ip_forwad=1

vi /etc/sys/net/ipv4/ip_forward

现在可以打开你的ip:8080查看部署情况

另外感谢shipyard制作了这么好用的工具。





 
posted @ 2015-12-17 12:10  暗痛  阅读(3091)  评论(0编辑  收藏  举报