Docker視覺化管理工具Shipyard安裝與配置

flynike發表於2021-09-09

文章來源:

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  | 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  | IMAGE=shipyard/shipyard:test bash -s

3. 使用字首

你可以在部署Shipyard管理工具時,自定義你想要的字首,比如

curl -sSL  | PREFIX=shipyard-test bash -s

4. 使用執行引數

這裡增加一些shipyard執行引數,你可以像這樣進行調整:

curl -sSL  | 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  | TLS_CERT_PATH=$(pwd)/certs bash -s

6. 增加Swarm節點

Shipyard管理的Swarm節點部署指令碼將自動的安裝key/value儲存系統(etcd系統),用於進行服務發現, 相關的工具還有Consul、Zookeeper。增加一個節點到swarm叢集,你可以透過以下的節點部署指令碼:

curl -sSL  | ACTION=node DISCOVERY=etcd://10.0.1.10:4001 bash -s

注意:10.0.1.10該ip地址為部署Ectd系統所在主機的IP地址,你需要根據你的部署位置進行修改。

7. 刪除Shipyard管理工具

如果你要刪除Shipyard部署的容器,你可以使用以下指令碼進行刪除。

curl -sSL  | 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管理介面

容器管理介面

圖片描述

容器管理列表介面

圖片描述

容器管理介面

圖片描述

容器狀態頁面

圖片描述

容器部署頁面

映象管理介面

圖片描述

映象管理介面

Swarm節點介面

圖片描述

Swarm節點介面



作者:garyond
連結:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2618/viewspace-2821349/,如需轉載,請註明出處,否則將追究法律責任。

相關文章