引擎

最后更新于:2022-04-01 00:51:57

一个Shipyard集群包含一个或者多个“引擎”。一个引擎就是一个Docker后台程序,它提供socket(本地使用)或者供其他机器使用的TCP端口。除此之外再没有其他任何的代理或者安装远程程序来激活管理;仅仅只是通过Docker的接口。 Docker后台程序侦听TCP端口请参看[Docker文档](https://docs.docker.com/articles/basics/)在“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文档](https://docs.docker.com/articles/https/)来运行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 ~~~
';