shipyard中文文档

引擎

一个Shipyard集群包含一个或者多个“引擎”。一个引擎就是一个Docker后台程序,它提供socket(本地使用)或者供其他机器使用的TCP端口。除此之外再没有其他任何的代理或者安装远程程序来激活管理;仅仅只是通过Docker的接口。

Docker后台程序侦听TCP端口请参看Docker文档在“Bind Docker to another host/port or a Unix socket”。

当一个引擎被添加到Shipyard中,你就可以为一个特殊的引擎定义资源限制了。在调度容器时会使用这些限制来确保引擎适应所有的请求。你可以使用SSL证书来保证安全通信。

ID

每个引擎都必须有一个可以识别的标示符。

地址

这个地址是用来和引擎交互的。对于本地用户,你可以使用unix:///path/to/docker.sock。对于多机配置,使用非SSL端口http://或者基于SSL协议的https://

资源

每个引擎都应该定义对资源的限制。它们可以是CPU和内存(单位MB)。

标签

一个引擎可以有一个或多个标签。这些都是用来调度和决策容器的。

SSL

一个引擎可以配置成使用SSL。参看Docker文档来运行SSL。

例子

增加引擎

shipyard cli> shipyard add-engine --id local \
    --addr http://10.1.2.3:2375 \
    --cpus 4.0 \
    --memory 8192 \
    --label dev \
    --label local

你也可以使用Docker socket来添加引擎,这样的话就只能运行单机环境了。你也可以在Shipyard控制器运行时添加一个挂载项(-v /var/run/docker.sock:/docker.sock

shipyard cli> shipyard add-engine --id local-socket \
    --addr unix:///docker.sock \
    --cpus 4.0 \
    --memory 8192 \
    --label dev \
    --label local

查看引擎列表

shipyard cli> shipyard engines
ID      Cpus    Memory  Host                    Labels
local   4.00    8192.00 http://172.16.1.50:2375 local,dev

查看引擎详情

shipyard cli> shipyard inspect-engine local
{
  "engine": {
    "labels": [
      "local",
      "dev"
    ],
    "memory": 2048,
    "cpus": 4,
    "addr": "http://172.16.1.50:2375",
    "id": "local"
  },
  "id": "a08b8518-e963-4eb5-959a-566bd270cd28"
}

删除引擎

shipyard cli> shipyard remove-engine a08b8518-e963-4eb5-959a-566bd270cd28
removed local