1.下载自动部署Shell脚本
curl -sSL https://shipyard-project.com/deploy | bash -s
自动部署脚本中, 包括以下参数:
- ACTION: 表示可以使用的指令,它包括以下选项。
- deploy, 默认值, 表示自动安装部署Shipyard管理工具及相关应用
- upgrade,更新已存在的实例(
注意:你要保持相同的系统环境、变量来部署同样的配置
) - node, 部署Swarm的一个新节点
- remove, 已存在的shipyard实例
- DISCOVERY: 集群系统采用Swarm进行采集和管理(在节点管理中可以使用‘node’)
- IMAGE: 镜像,默认使用shipyard的镜像
- PREFIX: 容器名字的前缀
- SHIPYARD_ARGS: 容器的常用参数
- TLS_CERT_PATH: TLS证书路径
- PORT: 主程序监听端口 (默认端口: 8080)
- PROXY_PORT: 代理端口 (默认: 2375)
2. 使用镜像
Shipyard允许您采取指定的镜像来部署实例,比如以下的测试版本,你也已这样做:
curl -sSL https://shipyard-project.com/deploy | IMAGE=shipyard/shipyard:test bash -s
3. 使用前缀
你可以在部署Shipyard管理工具时,自定义你想要的前缀,比如
curl -sSL https://shipyard-project.com/deploy | PREFIX=shipyard-test bash -s
4. 使用运行参数
这里增加一些shipyard运行参数,你可以像这样进行调整:
curl -sSL https://shipyard-project.com/deploy | SHIPYARD_ARGS="--ldap-server=ldap.example.com --ldap-autocreate-users" bash -s
5. 使用安全认证(TLS证书)
启用安全加密通讯协议(TLS)对Shipyard进行部署,包括代理(docker-proxy)、swarm集群、shipyard管理平台的配置,这是一个配置规范。证书必须采用以下命名规范:
- ca.pem: 安全认证证书
- server.pem: 服务器证书
- server-key.pem: 服务器私有证书
- cert.pem: 客户端证书
- key.pem: 客户端证书的key
注意:证书将被放置在一个单独的安全认证docker容器中,并在各个组成部分之间共享。如果需要调试,可以将此容器连接到调试容器。数据容器名称为$PREFIX-certs
。
docker run --rm -v $(pwd)/certs:/certs ehazlett/certm -d /certs bundle generate -o shipyard --host proxy --host 127.0.0.1
你也可以在部署时,指定TLS_CERT_PATH
参数:
curl -sSL https://shipyard-project.com/deploy | TLS_CERT_PATH=$(pwd)/certs bash -s
6. 增加Swarm节点
Shipyard管理的Swarm节点部署脚本将自动的安装key/value存储系统(etcd系统),用于进行服务发现, 相关的工具还有Consul、Zookeeper。增加一个节点到swarm集群,你可以通过以下的节点部署脚本:
url -sSL https://shipyard-project.com/deploy | ACTION=node DISCOVERY=etcd://10.0.1.10:4001 bash -s
注意:10.0.1.10
该ip地址为部署Ectd系统所在主机的IP地址,你需要根据你的部署位置进行修改。
7.删除Shipyard管理工具
如果你要删除Shipyard部署的容器,你可以使用以下脚本进行删除。
curl -sSL https://shipyard-project.com/deploy | ACTION=remove bash -s