摘要:在這三種調(diào)度框架做出選擇需要進(jìn)行驗證根據(jù)應(yīng)用的工作方式,數(shù)量以及如何管理數(shù)據(jù)等基礎(chǔ),可以幫助縮小選擇范圍。容器安裝和運行時對存儲服務(wù)進(jìn)行特定的請求,以實現(xiàn)如創(chuàng)建刪除檢查列表連接分離掛載卸載等功能。和一樣,它也有相同的功能和限制。
Swarm、Mesos、和Kubernetes都為各種規(guī)模的企業(yè)提供了全面的支持,如何選擇是好?
API▼
目前找到符合企業(yè)自身需求的調(diào)度框架比較困難,Docker Swarm、Mesos、Kubernetes三大巨頭之間最大的區(qū)別在可擴展性方面,Swarm的 Zero To Dev 快速設(shè)置功能擁有巨大的優(yōu)勢,Docker API的靈活性讓它易于集成,并允許使用其他工具,如定制腳本或編寫的自定義接口以及復(fù)雜的調(diào)度。
Swarm:易于集成和設(shè)置,靈活的API,有限的定制
Kubernetes:高度通用,開源、
Mesos:適用于大型系統(tǒng)
Kubernetes和Mesos在定制方面都比較通用,不過對于用戶的友好度偏低,如果正在集成或更改其中一個就不得不從頭開始,不適合相對較小的團隊。
可伸縮性&彈性▼
在可伸縮性和彈性方面,Mesos對于運行著大規(guī)模集群的公司來說是最好的選擇,在模擬測試中,其最高可以運行5萬多個節(jié)點,Kubernetes和Swarm都被限制在1000個節(jié)點(大約5萬個容器)。同時Mesos在大規(guī)模解決方案實踐上擁有強大的話語權(quán),如Twitter這樣的大公司都在使用。
Swarm:適合中小型系統(tǒng),在這個范疇它的價值和可擴展性最好
Kubernetes:適合中等規(guī)模高度冗余的系統(tǒng)
Mesos:目前最穩(wěn)定的平臺,適合大規(guī)模系統(tǒng)
于中型企業(yè)來說,Kubernetes在多主機集群中具有可靠性和較強的容錯力,不過成本較高,因為應(yīng)用插件的數(shù)量越多,就需要越好的安全方案,然而Kubernetes在AWS的覆蓋上存在問題,所以很多人會在選擇時猶豫不決。
在這三種調(diào)度框架做出選擇需要進(jìn)行驗證:根據(jù)應(yīng)用的工作方式,數(shù)量、以及如何管理數(shù)據(jù)等基礎(chǔ),可以幫助縮小選擇范圍。下面在容器存儲架構(gòu)方面對三者進(jìn)行比較:
存儲架構(gòu)▼
容器在應(yīng)用的可移植性方面遠(yuǎn)遠(yuǎn)超出了虛擬機所能達(dá)到的程度,虛擬機監(jiān)控應(yīng)用對硬件有一定的要求,實現(xiàn)應(yīng)用可移植性的能力要依賴容器之間的相互操作,即便使用云計算應(yīng)用存儲也是一個關(guān)鍵的組件:應(yīng)用可以利用持久性的存儲平臺,并圍繞它的一些特性進(jìn)行開發(fā)。
容器安裝和運行時對存儲服務(wù)進(jìn)行特定的請求,以實現(xiàn)如:創(chuàng)建/刪除、檢查/列表、連接/分離、掛載/卸載等功能。這導(dǎo)致了解決容器“存儲問題”的一些獨特的嘗試與分歧,將存儲編排到外部平臺的API請求有兩種可能:
一個 In-Tree Driver 在容器編配器中構(gòu)建的本地代碼
一個使用插件的Out-Tree Driver
這兩者各有利弊,In-Tree收到容器編配程序的發(fā)布周期限制,Out-Of-Tree插件可能無法提供與容器協(xié)調(diào)器綁定的增強特性集。
Docker
Docker1.7通過創(chuàng)建Docker 容量驅(qū)動程序接口來解決外部存儲問題,在1.13版本中將商店引入,UNIX插件可以通過在/run/docker/插件的目錄進(jìn)行查找,這是使用Out-Of-Tree的例子之一。
UNIX文件必須在相同的Docker主機上運行,而帶有規(guī)范或Json文件的插件如果指定了遠(yuǎn)程URL可以在不同的主機上運行,該接口通過HTTP接受Json/rpc,Out-Of-Tree的接口為Docker CLI提供了完整的存儲卷生命周期和編排功能。
Mesos
在Mesos V0.23之前,它支持本地存儲, Mesos-Module-Dvdi 為解決這個問題應(yīng)運而生,隨后它的特性出現(xiàn)在上游,現(xiàn)在Mesos 1.0+中也可以使用。該模塊利用名為DVECLI的項目,將Docker存儲卷驅(qū)動程序CLI打包為Mesos,可以使用任何一個Docker存儲卷應(yīng)用和Mesos容器使用,與Docker類似,它也使用了Json,允許框架與DVDCLI對話,并使用HTTP/rpc來與Docker存儲卷驅(qū)動接口進(jìn)行對話。
和Docker CLI一樣,它也有相同的功能和限制。
Kubernetes
Kubernetes的獨特之處在于它兼容In-Tree和Out-Of-Tree,In-tree驅(qū)動是Kubernetes的本地代碼,是其標(biāo)準(zhǔn)的一部分,這些驅(qū)動程序會根據(jù)Kubernetes提供的接口公開API命令,如掛載/卸載、創(chuàng)建/刪除等等,Kuberneters執(zhí)行這些功能,實現(xiàn)Pod的創(chuàng)建,并向驅(qū)動程序執(zhí)行特定的API調(diào)用執(zhí)行所需的操作,這也可以利用Kubernetes的特性,如動態(tài)配置和存儲,缺點是,會過于依賴發(fā)布周期,可能需要3-6個月的時間等待修復(fù)和持續(xù)維護(hù)或重新建立代碼。
Out-Of-Tree驅(qū)動程序使用Flexvolume接口,允許用戶編寫自己的驅(qū)動程序,并在Kubernetes中添加對其存儲卷的支持,供應(yīng)商應(yīng)該在存儲卷插件路徑:usr/libexec kubernetes kubelete-plugins/volume/exec/
這讓驅(qū)動程序可以在核心的Kubernetes代碼之外運行,特性更新和BUG修復(fù)也能在自己的時間表上發(fā)布,F(xiàn)lexvolume接口期望在其外部發(fā)生存儲卷創(chuàng)建和刪除操作,因此,只有連接/分離和掛載/卸載能力可用,而不是整個存儲卷的生命周期。
下圖可以看到其不同之處:
存儲供應(yīng)商需要創(chuàng)建多個集成,支持跨容器的生態(tài)系統(tǒng),容器存儲接口(CSI)項目正處于早期階段,但這將是存儲和容器成功的關(guān)鍵性因素。
如何選取最適合自身團隊的調(diào)度框架,以下幾點可以參考:
如果想更好的構(gòu)建和打包應(yīng)用,或想加速微服務(wù)的話,Docker容器和開發(fā)工具是最好的選擇
若是DevOps團隊,且想構(gòu)建專用于Docker編排的系統(tǒng),在人員和時間充足的情況下,選擇Kubernetes最合適
想建立運行多個任務(wù)可靠的平臺,且需要較強的可移植性那么Mesos比K8S和Docer的優(yōu)勢更加明顯
原文作者:Kendrick Coleman
原文鏈接:https://blog.codedellemc.com/...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/32582.html
摘要:是一個集群管理器,提供了有效的跨分布式應(yīng)用或框架的資源隔離和共享,可以運行。更貼近于層,而在之上。所以有人稱其為,或者分布式操作系統(tǒng)。你在這里可以看到使用的列表和有什么關(guān)聯(lián)嗎是一個為分布式應(yīng)用提供一致性服務(wù)的軟件,而是一個分布式應(yīng)用。 showImg(https://segmentfault.com/img/bVrBZJ); 聽過不少人在討論 Mesos,然而并不是很明白 Mesos ...
摘要:是一個集群管理器,提供了有效的跨分布式應(yīng)用或框架的資源隔離和共享,可以運行。更貼近于層,而在之上。所以有人稱其為,或者分布式操作系統(tǒng)。你在這里可以看到使用的列表和有什么關(guān)聯(lián)嗎是一個為分布式應(yīng)用提供一致性服務(wù)的軟件,而是一個分布式應(yīng)用。 showImg(https://segmentfault.com/img/bVrBZJ); 聽過不少人在討論 Mesos,然而并不是很明白 Mesos ...
摘要:結(jié)論得到了開發(fā)者社區(qū)的廣泛認(rèn)可,盡管它的安裝過程非常艱難,之所以受到歡迎的原因很大程度取決于它提供的靈活性,以及良好的谷歌背景,而有一個小型的社區(qū),增長略微緩慢。 數(shù)人云之前分享了《聊聊調(diào)度框架,K8S、Mesos、Swarm 一個都不能少》那么你是否仍在Docker和Kubernetes選擇上陷入了困擾?所以不要擔(dān)心,因為這也是很多人的苦惱,這兩者都是非常優(yōu)秀的容器服務(wù),至于那種更好...
摘要:今天小數(shù)給大家?guī)硪黄夹g(shù)正能量滿滿的分享來自社區(qū)線上群分享的實錄,分享嘉賓是數(shù)人云肖德時。第二級調(diào)度由被稱作的組件組成。它們是最小的部署單元,由統(tǒng)一創(chuàng)建調(diào)度管理。 今天小數(shù)給大家?guī)硪黄夹g(shù)正能量滿滿的分享——來自KVM社區(qū)線上群分享的實錄,分享嘉賓是數(shù)人云CTO肖德時。 嘉賓介紹: 肖德時,數(shù)人云CTO 十五年計算機行業(yè)從業(yè)經(jīng)驗,曾為紅帽 Engineering Service ...
摘要:平臺上的微服務(wù)架構(gòu)應(yīng)用再來看一下我眼中的基于當(dāng)前最流行的微服務(wù)架構(gòu)的設(shè)計是什么樣的,即我們平臺上要運行的典型應(yīng)用是什么樣的。 showImg(https://segmentfault.com/img/remote/1460000010900878); 8月19日的數(shù)人云Container Meetup上,張龍老師做了《基于Kubernetes的PaaS平臺的設(shè)計和思考》的精彩分享,分別...
閱讀 2600·2021-11-15 11:38
閱讀 2618·2021-11-04 16:13
閱讀 17979·2021-09-22 15:07
閱讀 1014·2019-08-30 15:55
閱讀 3260·2019-08-30 14:15
閱讀 1663·2019-08-29 13:59
閱讀 3206·2019-08-28 18:28
閱讀 1575·2019-08-23 18:29