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