天天看點

阿裡雲一鍵部署 Docker Datacenter

2016年2月下旬,docker釋出了企業級容器管理和服務部署的整體解決方案平台-docker datacenter,簡稱ddc。ddc 有三個元件構成:

docker universal control plane(docker ucp),這是套圖形化管理界面;

docker trusted registry(dtr),授信的docker鏡像倉庫;

docker engine商業版,提供技術支援的docker引擎。

阿裡雲一鍵部署 Docker Datacenter

ddc 與docker公司的另外一個線上産品 docker cloud 對應。不過ddc主要針對企業使用者在内部部署。使用者注冊自己的dokcer鏡像到dtr,ucp管理整個docker叢集。并且這兩個元件都提供了web界面。

使用ddc需要購買licence, 但是docker公司提供了一個月的試用licence,可以在docker官網注冊後直接下載下傳。

說了這麼多,到底如何部署ddc的環境呢?有一個簡單的方式,就是使用阿裡雲的ros。通過下面的連結一鍵部署,就可以做到分分鐘建立一套ddc。

<a href="https://ros.console.aliyun.com/createstack?regionenable=true&amp;spm=5176.100239.blogcont61888.17.ftfnmw&amp;regionid=cn-beijing&amp;templateurl=http:%2f%2fros-template.cn-hangzhou.oss.aliyun-inc.com%2fdocker_ddc.json&amp;step=2">一鍵部署&gt;&gt;&gt;</a>

點選一鍵部署後,預設會在華北2 region 部署 ddc。 如果你需要調整region,請點選頁面右下角的【上一步】,然後重新選擇region,接着點選【下一步】,你隻需要填入如下圖中必填的資訊或者根據你的需求調整資訊後,點選【建立】按鈕就可以部署一套 ddc。

阿裡雲一鍵部署 Docker Datacenter

當ros建立ddc成功後,怎麼登入ucp系統,可以進入ros的棧管理頁面,檢視剛才建立的棧的概要資訊,這裡面輸出了登入ucp和dtr的位址,如圖:

阿裡雲一鍵部署 Docker Datacenter

在浏覽器中輸入紅框中的位址就會顯示ucp的通路頁面,這時輸入在安裝ucp時建立的管理賬号和密碼就可以登入進去,接着會提示輸入導入licence檔案,請把準備好的licence導入,就可以進入ucp的控制界面了:

阿裡雲一鍵部署 Docker Datacenter

接下來将主要介紹如何通過阿裡雲的ros一鍵部署ddc環境。

阿裡雲一鍵部署 Docker Datacenter

在上面的基礎架構圖裡面,controller主要運作ucp元件,dtr運作的就是dtr元件, worker主要運作客戶自己的docker服務。整個ddc環境都部署在vpc網絡之下,所有的ecs加入同一個安全組。每個元件都提供了一個slb,供外網通路。而運維操作則是通過跳闆機實作。另一方面為了提升可用性,整個ddc環境都是高可用部署,也就是說controller至少有兩台,同理dtr也至少有兩台。

下面詳細介紹如何通過ros模闆建立阿裡雲資源并通過ros的userdata功能部署ddc環境。

部署需要的資源

當ucp節點建立完成後,都會挂載到slb,建立,配置slb以及挂載所有的ucp節點使用了這三個資源:

部署安裝ucp的userdata腳本主要指令

首先設定docker軟體包秘鑰

添加阿裡雲的docker源能夠確定成功拉取docker engine安裝包

安裝docker

配置拉取ucp鏡像的mirror

安裝ucp,這個指令隻需在master節點執行

ucp install的參數解釋:

--debug 打開debug檢視詳細的安裝資訊

--host-address 其他節點通過哪個ip通路ucp

--admin-username 設定ucp的管理賬号

--admin-password 設定管理賬号的密碼

--san 指定那些ip或域名能夠通過ucp的認證,這裡添加了兩個,一個是本機ip,一個是slb的公網ip。這裡必須寫上slb的ip位址,因為通路dtr的時候,會redirect到ucp做認證。如果不指定的話,就會直接使用私網ip,這時候必定通路失敗。

根據生成token,-q參數控制生成manager或worker類型的token

如果是slave節點,則安裝ucp的指令隻需替換成下面的指令即可

詳細ros模闆的ucp節點資源定義

dtr的安裝和ucp的類似,隻需要把安裝ucp的指令換成下面這兩個指令即可:

首先要加入ddc和ucp slave節點的指令一樣

安裝dtr

dtr install的參數:

--debug 打開debug開關,檢視安裝的詳細資訊

--ucp-url 指定ucp的通路位址,這裡使用ucp slb的公網ip

--ucp-node 指定安裝dtr的機器名

--dtr-external-url 供外部通路dtr的url,指定dtr slb的公網ip

--ucp-username ucp的管理者賬号

--ucp-password ucp的管理者賬号的密碼

--ucp-insecure-tls 給ucp關閉tls驗證

詳細ros模闆的dtr 資源定義

部署worker節點使用的指令和部署ucp的slave節點一樣,隻不過使用的token不同,worker節點使用的是worker類型的token。

詳細ros模闆的worker資源定義

大規模手工部署一個高可用的ddc環境還是有一定的複雜度,利用本文中提供的ros模闆,可以非常友善的幫你一鍵部署ddc環境,讓你把更多的精力放在自己的業務上。