摘要:引擎非常輕量級,由于其內(nèi)置早中,所以部署起來會非常方便。這樣單個出問題,新的會很快選舉出來,保證集群的穩(wěn)定性。后續(xù)對版本的支持也在持續(xù)迭代中。
引言
Rancher v1.2更新了之前對Swarm的支持,與Docker一樣拋棄了就有的Swarm,選擇支持Swarmkit。Swarmkit引擎非常輕量級,由于其內(nèi)置早Docker Engine中,所以部署起來會非常方便。雖然目前Swarmkit引擎還在不斷發(fā)展,而且bug也很多,但是它也有其擅長的使用場景,比如簡單的CI/CD場景,它會非常靈活簡潔。本文將帶大家體驗(yàn)一下,Rancher v1.2對Swarmkit的支持。
部署與使用部署方面秉承Rancher一貫的原則,非常簡單,只需要在創(chuàng)建Env時選擇Sawrm即可。
Env創(chuàng)建完畢后,會看到多個Infra Service需要創(chuàng)建,這時候和其他引擎一樣,我們需要向Env中添加Host。我們知道Swarm的node有兩種:Manager和Worker。Rancher創(chuàng)建的Swarm集群默認(rèn)是3個Manager,多個Manager內(nèi)有一個是Leader,另外兩個備用。這樣單個Host出問題,新的Leader會很快選舉出來,保證集群的穩(wěn)定性。比如我添加了兩個Host,默認(rèn)是先添加Manager角色,所以2個Host都會以Manager方式添加,如下圖所示:
進(jìn)入其中一臺Host內(nèi),查看swarm集群狀態(tài),可以看到一個是Leader,另外一個Reachable做備用。
嘗試創(chuàng)建一個簡單的程序,查看與UI上的聯(lián)動效果,如圖所示:
如果使用Swarmkit的自定義網(wǎng)絡(luò)方式,情況如何?雖然在UI上顯示無IP,但是進(jìn)入容器內(nèi)部可以看到overlay對應(yīng)的網(wǎng)卡,如圖所示:
實(shí)現(xiàn)原理那么Rancher是如何來完成Swarmkit的部署和聯(lián)動呢?Rancher中Swarmkit也是基于Cattle來部署的,根據(jù)之前的文章分析,我們可以知道Rancher的基礎(chǔ)設(shè)施編排的定義都是通過catalog中的infra-templates實(shí)現(xiàn)的,Swarmkit比較特殊它是在community-catalog中定義的,如果一直在rancher-catalog中尋找肯定找不到。compose文件中定義了一個service swarmkit-mon,如圖所示:
如果探究原理,我們就需要知道swarmkit-mon對應(yīng)的鏡像是如何定義的。rancher/swarmkit這個dockerfile并沒有在https://github.com/rancher下面的項(xiàng)目中,這個需要順藤摸瓜,找到該Dockerfile的維護(hù)者(其實(shí)也是Rancher的一名員工),最終地址是https://github.com/LLParse/sw...。如圖所示:
swarmkit-mon中內(nèi)置了docker,并映射了Host上的docker.sock,這樣可以在swarmkit-mon容器中控制docker創(chuàng)建swarmkit集群。swarmkit-mon的實(shí)現(xiàn)比較簡單,主要包括兩個shell腳本:run.sh負(fù)責(zé)swarmkit集群的管理和Rancher的聯(lián)動,agent節(jié)點(diǎn)信息需要通過rancher-metadata讀取,設(shè)置Host Label則直接調(diào)用Rancher API;health.sh負(fù)責(zé)監(jiān)控swarmkit節(jié)點(diǎn)的狀態(tài)(通過與docker.sock通信讀取Swarm.LocalNodeState的狀態(tài)),并與giddyup協(xié)作暴露健康檢查端口,這樣可以利用Rancher Cattle的healthcheck來保證swarmkit-mon服務(wù)的高可用性,每個Host的swarmkit-mon出問題時可以進(jìn)行自動重建恢復(fù)。原理如圖:
總結(jié)目前來看,由于Kubernetes的發(fā)展的確迅猛,所以Rancher的更多精力都放在K8s上。針對Swarmkit的支持顯得略顯單薄,但是Swarmkit本身的問題也很多,目前也難以應(yīng)對復(fù)雜場景,所以目前的支持力度應(yīng)該是足夠了。后續(xù)對docker1.13版本的Swarmkit支持也在持續(xù)迭代中。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/27981.html
摘要:引擎非常輕量級,由于其內(nèi)置早中,所以部署起來會非常方便。這樣單個出問題,新的會很快選舉出來,保證集群的穩(wěn)定性。后續(xù)對版本的支持也在持續(xù)迭代中。 引言 Rancher v1.2更新了之前對Swarm的支持,與Docker一樣拋棄了就有的Swarm,選擇支持Swarmkit。Swarmkit引擎非常輕量級,由于其內(nèi)置早Docker Engine中,所以部署起來會非常方便。雖然目前Swarm...
摘要:降低對外包服務(wù)團(tuán)隊(duì)的依賴,提高業(yè)務(wù)的敏捷性研發(fā)部門實(shí)現(xiàn)測試環(huán)境自動創(chuàng)建配置和郵件通知,滿足持續(xù)集成和持續(xù)交付的要求,可自動并快速獲得基礎(chǔ)架構(gòu)應(yīng)用配置和代碼等各個關(guān)鍵環(huán)節(jié)的反饋。 2016年對Rancher Labs而言是太重要也太精彩的一年 Rancher 1.0,Rancher 1.1,Rancher 1.2三次重大的版本發(fā)布與更新Rancher的累積下載量已達(dá)1600萬 在中國海航...
摘要:在之前的版本上,用戶時常抱怨的網(wǎng)絡(luò)只有,沒有其他選擇。而容器社區(qū)的發(fā)展是十分迅猛的,各種容器網(wǎng)絡(luò)插件風(fēng)起云涌,欲在江湖中一爭高下。同樣是基于,使用提供的,網(wǎng)絡(luò)配置信息以方式注入。 在之前的Rancher版本上,用戶時常抱怨Rancher的網(wǎng)絡(luò)只有IPsec,沒有其他選擇。而容器社區(qū)的發(fā)展是十分迅猛的,各種容器網(wǎng)絡(luò)插件風(fēng)起云涌,欲在江湖中一爭高下。Rancher v1.2版本中與時俱進(jìn),...
摘要:在之前的版本上,用戶時常抱怨的網(wǎng)絡(luò)只有,沒有其他選擇。而容器社區(qū)的發(fā)展是十分迅猛的,各種容器網(wǎng)絡(luò)插件風(fēng)起云涌,欲在江湖中一爭高下。同樣是基于,使用提供的,網(wǎng)絡(luò)配置信息以方式注入。 在之前的Rancher版本上,用戶時常抱怨Rancher的網(wǎng)絡(luò)只有IPsec,沒有其他選擇。而容器社區(qū)的發(fā)展是十分迅猛的,各種容器網(wǎng)絡(luò)插件風(fēng)起云涌,欲在江湖中一爭高下。Rancher v1.2版本中與時俱進(jìn),...
摘要:官方于月日發(fā)布了其容器部署與管理平臺的最新版本,。架構(gòu)總覽在版本的整體架構(gòu)圖如下圖所示上,引擎向下深入演化成了基礎(chǔ)設(shè)施引擎,這一點(diǎn)上在時代也早有體現(xiàn)。基礎(chǔ)設(shè)施引擎初次安裝版本,會發(fā)現(xiàn)多了如下圖所示的明顯標(biāo)識,默認(rèn)的引擎需要安裝等服務(wù)。 Rancher Labs官方于12月1日發(fā)布了其容器部署與管理平臺Rancher的最新版本,Rancher v1.2。Rancher v1.2可以說是一...
閱讀 1072·2021-11-25 09:43
閱讀 696·2021-11-22 14:45
閱讀 3815·2021-09-30 09:48
閱讀 1059·2021-08-31 09:41
閱讀 1970·2019-08-30 13:52
閱讀 1976·2019-08-30 11:24
閱讀 1340·2019-08-30 11:07
閱讀 949·2019-08-29 12:15