shipyard研發系列(1)-shipyard安裝指南

Docker之shipyard安裝指南

1、前言:最近在研究shipyard的docker容器管理平臺,在研究過程發現本身對docker基礎理解還存在必定的欠缺,爲了更好的理解docker,將我對shipyard項目的理解共享給docker愛好者,也系統的造成一份研發日誌。dockerclub的shipyard研發系列詳細請訪問node

2、shipyard項目介紹:shipyard是一個集成管理docker容器、鏡像、Registries的系統,他最大亮點應該是支持多節點的集成管理,能夠動態加載節點,可託管node下的容器。這裏暫時不對shipyard的細節講解,後續章節會講他的架構。docker

3、shipyard安裝使用介紹,shipyard項目的安裝能夠參考官網逐步操做,這裏補充一些坑的解決過程。安全

3.1 首次部署腳本

curl -sSL https://shipyard-project.com/deploy | bash -s
  • ACTION: 可使用的指令 (deploy, upgrade, node, remove)bash

    1. DISCOVERY: 集羣系統採用Swarm進行採集和管理(在節點管理中可使用‘node’)服務器

    2. IMAGE: 鏡像,默認使用shipyard的鏡像架構

    3. PREFIX: 容器名字的前綴curl

    4. SHIPYARD_ARGS: 容器的經常使用參數測試

    5. TLS_CERT_PATH: TLS證書路徑url

    6. PORT: 主程序監聽端口 (默認端口: 8080)spa

    7. PROXY_PORT: 代理端口 (默認: 2375)

3.2 腳本可選項

  • 若是你要自定義部署,請參考如下規範

    1. 部署action:指令有效變量

    2. deploy: 部署新的shipyard實例

    3. upgrade: 更新已存在的實例(注意:你要保持相同的系統環境、變量來部署一樣的配置)

    4. node: 使用Swarm增長一個新的node

    5. remove: 刪除已存在的shipyard實例(容器)

3.3 鏡像使用

  • 你能夠採起規範的鏡像來部署實例,好比如下的測試版本,你也已這樣作

curl -sSL https://shipyard-project.com/deploy | IMAGE=shipyard/shipyard:test bash -s

3.4 前綴使用

  • 你能夠定義你想要的前綴,好比

curl -sSL https://shipyard-project.com/deploy | PREFIX=shipyard-test bash -s

3.5 參數使用

  • 這裏增長一些shipyard運行參數,你能夠像這樣進行調整:

curl -sSL https://shipyard-project.com/deploy | SHIPYARD_ARGS="--ldap-server=ldap.example.com --ldap-autocreate-users" bash -s

3.6TLS證書使用

  • 啓用TLS對組建進行部署,包括代理(proxy)、swarm集羣系統、shipyard管理平臺的配置,這是一個配置規範。證書必須採用如下命名規範:

    1. ca.pem: 安全認證證書

    2. server.pem: 服務器證書

    3. server-key.pem: 服務器私有證書

    4. cert.pem: 客戶端證書

    5. key.pem: 客戶端證書的key

  • 注意:證書將被放置在一個docker容器中,並在各個組成部分之間共享。若是須要調試,能夠將此容器鏈接到調試容器。數據容器名稱爲前綴的證書。

docker run --rm \
    -v $(pwd)/certs:/certs \
    ehazlett/certm \
    -d /certs \
    bundle \
    generate \
    -o shipyard \
    --host proxy \
    --host 127.0.0.1
  • 你也能夠按以下指令來部署系統

curl -sSL https://shipyard-project.com/deploy | TLS_CERT_PATH=$(pwd)/certs bash -s

3.7增長一個部署節點

  • shipyard節點部署腳本將自動的安裝key/value存儲系統(etcd系統)。增長一個節點到swarm集羣,你可使用如下的節點部署腳本

curl -sSL https://shipyard-project.com/deploy | ACTION=node  DISCOVERY=etcd://10.0.1.10:4001 bash -s
  • 注意:10.0.1.10這個ip地址你須要修改成你的首次初始化shipyard系統的主機地址

3.8刪除shipyard系統

curl -sSL https://shipyard-project.com/deploy | ACTION=remove bash -s

3.9 附件:

  • 下面是筆者部署後的效果,若是你遇到問題,能夠在dockerclub.net問答社區上給我留言。

    1. 啓動界面
      啓動後主界面

    2. 容器詳細狀況
      容器詳細狀況

    3. 鏡像
      鏡像

    4. 節點
      節點

相關文章
相關標籤/搜索