阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Docker可视化管理工具Shipyard安装与配置

195次阅读
没有评论

共计 3863 个字符,预计需要花费 10 分钟才能阅读完成。

Shipyard 简介

Shipyard 是一个集成管理 Docker 容器、镜像、Registries 的系统,它具有以下特点:

  • 支持多节点的集成管理
  • 可动态加载节点
  • 可托管 node 下的容器

环境准备

下载镜像

# docker pull rethinkdb
# docker pull microbox/etcd
# docker pull shipyard/docker-proxy
# docker pull swarm 
# docker pull shipyard/shipyard

自动安装

注意:这将会暴露 Docker Engine 的管理端口 2375。如果此节点在安全网络外部可以访问,建议使用 TLS。

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 集群,你可以通过以下的节点部署脚本:

curl -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

手动安装

1. 数据存储

Shipyard 使用 RethinkDB 做为数据存储工具,我们需要先运行 RethinkDB 容器。

# docker run \ 
    -ti \ 
    -d \ 
    --restart=always \ 
    --name shipyard-rethinkdb \ 
    rethinkdb

2. 服务发现

为了启用 Swarm leader 选择,我们必须使用来自 Swarm 容器的外部键值存储。此处,我们使用 Etcd 作为服务发现工具。可以选用的服务发现工具还有 Consul、Zookeeper 等。

# docker run \ 
     -ti \ 
     -d \ 
     -p 4001:4001 \ 
     -p 7001:7001 \ 
     --restart=always \ 
     --name shipyard-discovery \ 
     microbox/etcd:latest \
     -name discovery

3. Docker 代理服务

默认情况下,Docker 引擎只侦听套接字。我们可以重新配置引擎以使用 TLS,或者您可以使用代理容器。这是一个非常轻量级的容器,它只是将请求从 TCP 转发到 Docker 监听的 Unix 套接字。

# docker run \ 
   -ti \ 
   -d \ 
   -p 2375:2375 \ 
   --hostname=$HOSTNAME \ 
   --restart=always \ 
   --name shipyard-proxy \ 
    -v /var/run/docker.sock:/var/run/docker.sock \ 
    -e PORT=2375 \ 
   shipyard/docker-proxy:latest

4. Swarm 管理节点

# docker run \ 
   -ti \ 
   -d \ 
   --restart=always \ 
   --name shipyard-swarm-manager \ 
   swarm:latest \ 
   manage --host tcp://0.0.0.0:3375 etcd://<IP-OF-HOST>:4001

5. Swarm Agent 节点

# docker run \ 
   -ti \ 
   -d \ 
   --restart=always \ 
   --name shipyard-swarm-agent \ 
   swarm:latest \ 
   join --addr <ip-of-host>:2375 etcd://<ip-of-host>:4001

6. Shipyard 管理工具

# docker run \ 
   -ti \ 
   -d \ 
   --restart=always \ 
   --name shipyard-controller \ 
   --link shipyard-rethinkdb:rethinkdb \ 
   --link shipyard-swarm-manager:swarm \ 
   -p 8080:8080 \ 
   shipyard/shipyard:latest \ 
   server \ 
   -d tcp://swarm:3375

Shipyard 管理界面

容器管理界面

Docker 可视化管理工具 Shipyard 安装与配置

容器管理列表界面

容器管理界面
Docker 可视化管理工具 Shipyard 安装与配置

容器状态页面

容器部署页面

镜像管理界面

Docker 可视化管理工具 Shipyard 安装与配置

镜像管理界面

Swarm 节点界面

Docker 可视化管理工具 Shipyard 安装与配置

Swarm 节点界面

更多 Docker 相关教程见以下内容

Docker 安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm 

Ubuntu 16.04 服务器上配置使用 Docker  http://www.linuxidc.com/Linux/2017-06/145176.htm 

Ubuntu 15.04 下安装 Docker  http://www.linuxidc.com/Linux/2015-07/120444.htm 

Docker 安装实例 http://www.linuxidc.com/Linux/2017-04/142666.htm 

Docker 创建基础镜像  http://www.linuxidc.com/Linux/2017-05/144112.htm 

在 Ubuntu 15.04 上如何安装 Docker 及基本用法 http://www.linuxidc.com/Linux/2015-09/122885.htm 

Ubuntu 16.04 上 Docker 使用手记 http://www.linuxidc.com/Linux/2016-12/138490.htm 

使用 Docker 分分钟启动常用应用  http://www.linuxidc.com/Linux/2017-04/142649.htm 

Ubuntu 16.04 下 Docker 修改配置文件不生效解决办法  http://www.linuxidc.com/Linux/2017-05/143862.htm 

Docker 的详细介绍:请点这里
Docker 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-11/148384.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计3863字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中