Docker管理工具之Shipyard

What is Shipyard?

    Shipyard是一套對docker集羣中資源進行管理的工具,包括對Docker容器、主機等資源的管理。它最大的特點是在覈心部件之外還支持擴展鏡像,可以根據需求靈活實現應用負載均衡、集中日誌管理和自動化部署等功能。此外,Shipyard還提供了方便的用戶的web界面,功能更加強大的命令行操作藉口,以及統一的API,Shipyard支持的命令包括login、run、stop、restart、info等。

    總的來講Shipyard主要特性包括以下幾點:

  • 支持節點動態集羣,可擴展節點的規模(swarm、etcd方案)

  • 支持鏡像管理、容器管理、節點管理等功能

  • 可視化的容器管理和監控管理

  • 在線容器console終端

注:shipyard的源碼在https://github.com/shipyard/shipyard進行維護,有興趣的可以進行訪問獲取源碼。


Shipyard安裝

1.修改docker配置文件,所有需要納管的docker主機,需要docker在tcp上監聽,以便被納管

vim /etc/sysconfig/docker
OPTIONS=-H=unix:///var/run/docker.sock -H=tcp://0.0.0.0:2375

2.安裝shipyard

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock  shipyard/deploy start

執行安裝完成之後,通過查看鏡像會發現三個shipyard相關鏡像:

image.png

Rethinkdb

    RethinkDB是一個shipyard項目的一個docker鏡像,用來存放賬號(account)、引擎(engine)、服務密鑰(service key)、擴展元數據(extension metadata)等信息,

但不會存儲任何有關容器或鏡像的內容。一般會啓動一個shipyard/rethinkdb容器shipyard-rethinkdb-data來使用它的/data作爲數據卷供另外rethinkdb一個掛載,專門用於數據存儲。

engine

    一個shipyard管理的docker集羣可以包含一個或多個engine(引擎),一個engine就是監聽tcp端口的docker daemon。shipyard管理docker daemon、images、containers完全基於Docker API,不需要做其他的修改。另外,shipyard可以對每個engine做資源限制,包括CPU和內存;因爲TCP監聽相比Unix socket方式會有一定的安全隱患,所以shipyard還支持通過SSL證書與docker後臺進程安全通信。

運行shipyard

    安裝完成shipyard之後,可以通過瀏覽器可以訪問主機8080端口,默認用戶名/密碼爲admin/shipyard:

通過以下命令安裝shipyard命令交互窗口:

  docker run --rm -it shipyard/shipyard-cli


未完待續...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章