摘要:是建立在集群管理工具之上的可以管理容器主機(jī)等資源的圖形化工具。管理完全基于,不需要做其他的修改。搭建過(guò)程修改監(jiān)聽要管理和控制的話需要先修改上的默認(rèn)配置使其監(jiān)聽端口可以繼續(xù)保持。
Shipyard(github)是建立在docker集群管理工具Citadel之上的可以管理容器、主機(jī)等資源的web圖形化工具。包括core和extension兩個(gè)版本,core即shipyard主要是把多個(gè) Docker host上的 containers 統(tǒng)一管理(支持跨越多個(gè)host),extension即shipyard-extensions添加了應(yīng)用路由和負(fù)載均衡、集中化日志、部署等。
1. 幾個(gè)概念 engine一個(gè)shipyard管理的docker集群可以包含一個(gè)或多個(gè)engine(引擎),一個(gè)engine就是監(jiān)聽tcp端口的docker daemon。shipyard管理docker daemon、images、containers完全基于Docker API,不需要做其他的修改。另外,shipyard可以對(duì)每個(gè)engine做資源限制,包括CPU和內(nèi)存;因?yàn)門CP監(jiān)聽相比Unix socket方式會(huì)有一定的安全隱患,所以shipyard還支持通過(guò)SSL證書與docker后臺(tái)進(jìn)程安全通信。
rethinkdbRethinkDB是一個(gè)shipyard項(xiàng)目的一個(gè)docker鏡像,用來(lái)存放賬號(hào)(account)、引擎(engine)、服務(wù)密鑰(service key)、擴(kuò)展元數(shù)據(jù)(extension metadata)等信息,但不會(huì)存儲(chǔ)任何有關(guān)容器或鏡像的內(nèi)容。一般會(huì)啟動(dòng)一個(gè)shipyard/rethinkdb容器shipyard-rethinkdb-data來(lái)使用它的/data作為數(shù)據(jù)卷供另外rethinkdb一個(gè)掛載,專門用于數(shù)據(jù)存儲(chǔ)。
2. 搭建過(guò)程 修改tcp監(jiān)聽Shipyard 要管理和控制 Docker host 的話需要先修改 Docker host 上的默認(rèn)配置使其監(jiān)聽tcp端口(可以繼續(xù)保持Unix socket)。有以下2種方式
sudo docker -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock -d 啟動(dòng)docker daemon。如果為了避免每次啟動(dòng)都寫這么長(zhǎng)的命令,可以直接在/etc/init/docker.conf中修改。
修改/etc/default/docker的DOCKER_OPTS
DOCKER_OPTS="-H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock"。這種方式在我docker version 1.4.1 in ubuntu 14.04上并沒(méi)有生效。
重啟服務(wù) $ sudo docker -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock -d 驗(yàn)證 $ netstat -ant |grep 4243 tcp6 0 0 :::4243 :::* LISTEN啟動(dòng)rethinkdb
shipyard(基于Python/Django)在v1版本時(shí)安裝過(guò)程比較復(fù)雜,既可以通過(guò)在host上安裝,也可以部署shipyard鏡像(包括shipyard-agent、shipyard-deploy等組件)。v2版本簡(jiǎn)化了安裝過(guò)程,啟動(dòng)兩個(gè)鏡像就完成:
獲取一個(gè)/data的數(shù)據(jù)卷 $sudo docker run -it -d --name shipyard-rethinkdb-data --entrypoint /bin/bash shipyard/rethinkdb -l 使用數(shù)據(jù)卷/data啟動(dòng)RethinkDB docker run -it -P -d --name shipyard-rethinkdb --volumes-from shipyard-rethinkdb-data shipyard/rethinkdb部署shipyard鏡像
啟動(dòng)shipyard控制器:
sudo docker run -it -p 8080:8080 -d --name shipyard --link shipyard-rethinkdb:rethinkdb shipyard/shipyard
至此已經(jīng)可以通過(guò)瀏覽器訪問(wèn)http://host:8080來(lái)訪問(wèn)shipyard UI界面了。
第一次run后,關(guān)閉再次啟動(dòng)時(shí)直接使用:
sudo docker stop shipyard shipyard-rethinkdb shipyard-rethinkdb-data sudo docker start shipyard-rethinkdb-data shipyard-rethinkdb shipyard圖示
登錄:
默認(rèn)用戶名/密碼為 admin/shipyard
主界面:
Dashboard展示在添加engine時(shí)指定的CPU以及內(nèi)存的使用情況。
容器:
shipyard管理的所有docker主機(jī)的所有容器,包括stop和running狀態(tài)的??梢灾苯狱c(diǎn)擊DEPLOY按鈕來(lái)從鏡像運(yùn)行出其他容器,與docker run的選項(xiàng)幾乎相同,可以限制CPU和內(nèi)存的使用,詳見shipyard的containers文檔。
容器操作:
可以stop、start、restart容器,通過(guò)LOGS可以看到容器日志輸出,SCALE可以批量(規(guī)?;┎渴鹪撊萜?,這個(gè)操作與容器的Type屬性息息相關(guān)。因?yàn)閟hipyard可以管理多個(gè)host的docker容器,所以啟動(dòng)一個(gè)容器的type可以是:service——可以在具有相同label的engine上運(yùn)行;unique——一個(gè)host上只允許某個(gè)鏡像的一個(gè)實(shí)例運(yùn)行;host——在指定的host上運(yùn)行容器,啟動(dòng)的時(shí)候通過(guò)--label host:
engine管理:
一個(gè)engine就是一個(gè)docker daemon,docker daemon下啟動(dòng)著多個(gè)containers,可以對(duì)engine限制一個(gè)整體的CPU和內(nèi)存限制,shipyard通過(guò)TCP端口連接daemon。需要注意的是docker client與server的版本問(wèn)題:(因?yàn)閟hipyard目前還在快速的完善過(guò)程,不同版本的docker應(yīng)該是向下兼容的)
curl -X GET http://172.29.88.223:4243/v1.15/containers/json client and server don"t have same version (client : 1.15, server: 1.13)3. shipyard-cli
目前圖形化界面能做的操作其實(shí)很少,正在強(qiáng)大的是通過(guò)shipyard提供的命令行窗口(稱作Shipyard CLI)進(jìn)行管理,參考http://shipyard-project.com/docs/usage/cli/
啟動(dòng)命令行交互模式:
sudo docker run --rm -it shipyard/shipyard-cli
使用它甚至可以替代docker客戶端。
sean@seanubt:~$ sudo docker run -it shipyard/shipyard-cli shipyard cli> shipyard help NAME: shipyard - manage a shipyard cluster USAGE: shipyard [global options] command [command options] [arguments...] VERSION: 2.0.8 COMMANDS: login login to a shipyard cluster change-password update your password accounts show accounts add-account add account delete-account delete account containers list containers inspect inspect container run run a container stop stop a container restart restart a container scale scale a container logs show container logs destroy destroy a container engines list engines add-engine add shipyard engine remove-engine removes an engine inspect-engine inspect an engine service-keys list service keys add-service-key adds a service key remove-service-key removes a service key extensions show extensions add-extension add extension remove-extension remove an extension webhook-keys list webhook keys add-webhook-key adds a webhook key remove-webhook-key removes a webhook key info show cluster info events show cluster events help, h Shows a list of commands or help for one command GLOBAL OPTIONS: --help, -h show help --generate-bash-completion --version, -v print the version 登錄shipyard shipyard cli> shipyard login URL: http://172.29.88.205:8080 Username: admin Password: 查看containers shipyard cli> shipyard containers 啟動(dòng)一個(gè)容器 shipyard cli> shipyard run --name nginx:1.7.6 --container-name web_test --cpus 0.2 --memory 64 --type service --hostname nginx-test --domain example.com --link redis:db --port tcp/172.29.88.205:81:8081 --port tcp/::8000 --restart "on-failure:5" --env FOO=bar --label dev 查看容器日志(只能接容器ID,暫不能使用容器名) shipyard cli> shipyard logs ff2761d 關(guān)閉并移除容器 shipyard cli> shipyard destroy
不一一列舉。。。
原文鏈接地址:http://seanlook.com/2014/12/29/docker-shipyard-centralized-management-webui/
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/26368.html
摘要:相關(guān)基于項(xiàng)目和項(xiàng)目,并遵循應(yīng)用的十二因素風(fēng)格。相關(guān)在設(shè)計(jì)上,項(xiàng)目盡量保持驅(qū)動(dòng)和模塊化,以便模塊支持不同的實(shí)現(xiàn)方案。相關(guān)不僅可以管理眾多虛擬機(jī),其計(jì)算服務(wù)還支持對(duì)的驅(qū)動(dòng),管理引擎的子項(xiàng)目還可用于通過(guò)模板管理容器?,F(xiàn)已整合公司所支持的項(xiàng)目。 整理自《Docker技術(shù)入門與實(shí)踐》 PaaS(Platform as a Service) PaaS 是希望提供一個(gè)統(tǒng)一的可供所有軟件直接運(yùn)行而無(wú)需...
摘要:之安裝指南一前言最近在研究的容器管理平臺(tái),在研究過(guò)程發(fā)現(xiàn)自己對(duì)基礎(chǔ)理解還存在一定的欠缺,為了更好的理解,將我對(duì)項(xiàng)目的理解共享給愛(ài)好者,也系統(tǒng)的形成一份研發(fā)日志。啟動(dòng)界面容器詳細(xì)情況鏡像節(jié)點(diǎn) Docker之shipyard安裝指南 一、前言:最近在研究shipyard的docker容器管理平臺(tái),在研究過(guò)程發(fā)現(xiàn)自己對(duì)docker基礎(chǔ)理解還存在一定的欠缺,為了更好的理解docker,將我對(duì)s...
摘要:中文版正式發(fā)布一是什么是一個(gè)開源的管理平臺(tái),其特性主要包括支持節(jié)點(diǎn)動(dòng)態(tài)集群,可擴(kuò)展節(jié)點(diǎn)的規(guī)模方案支持鏡像管理容器管理節(jié)點(diǎn)管理等功能可視化的容器管理和監(jiān)控管理在線容器終端二中文版源代碼托管在,有興趣可以訪問(wèn)獲取代碼。 shipyard中文版正式發(fā)布 一、 Docker Shipyard是什么 ?shipyard是一個(gè)開源的docker管理平臺(tái),其特性主要包括: 支持節(jié)點(diǎn)動(dòng)態(tài)集群,可擴(kuò)...
閱讀 3483·2021-09-22 15:02
閱讀 3530·2021-09-02 15:21
閱讀 2143·2019-08-30 15:55
閱讀 2794·2019-08-30 15:44
閱讀 791·2019-08-29 16:56
閱讀 2423·2019-08-23 18:22
閱讀 3350·2019-08-23 12:20
閱讀 3098·2019-08-23 11:28