隨著PaaS平臺(tái)結(jié)構(gòu)的演變,可以看到容器編排給企業(yè)在平臺(tái)結(jié)構(gòu)的選擇上帶來的沖擊,可究竟該如何選擇,我們需要透過現(xiàn)象看本質(zhì)。
PaaS平臺(tái)的演變
傳統(tǒng)PaaS平臺(tái)在
云計(jì)算技術(shù)的發(fā)展中經(jīng)歷了幾次演變,我們先來回顧下經(jīng)典的云平臺(tái)層次體系的結(jié)構(gòu)。
傳統(tǒng)云計(jì)算平臺(tái)的分層結(jié)構(gòu)
如圖所示,在經(jīng)典的PaaS平臺(tái)結(jié)構(gòu)中,應(yīng)用運(yùn)行在PaaS平臺(tái)所提供的容器環(huán)境中,容器在虛擬機(jī)基礎(chǔ)上完成了第二層次基礎(chǔ)設(shè)施資源的劃分,容器封裝了應(yīng)用正常運(yùn)行所需的運(yùn)行環(huán)境和系統(tǒng)。然而這類PaaS平臺(tái)就如同一個(gè)“黑盒”,應(yīng)用完全脫離了租戶的控制,進(jìn)入了完全被托管的狀態(tài),這使得開發(fā)人員和運(yùn)維人員對應(yīng)用和應(yīng)用運(yùn)行時(shí)的環(huán)境掌控力變?nèi)酰偌由蟼鹘y(tǒng)PaaS通常在應(yīng)用架構(gòu)選擇、支持的環(huán)境服務(wù)等方面有較強(qiáng)限制,導(dǎo)致此類云平臺(tái)層次結(jié)構(gòu)運(yùn)力不足,尤其是在應(yīng)用出現(xiàn)宕機(jī)后尤為凸顯。因而在生產(chǎn)環(huán)境下又進(jìn)化出了以IaaS+云平臺(tái)的分層結(jié)構(gòu)。
典型的IaaS+云平臺(tái)
IaaS+云平臺(tái)的層次結(jié)構(gòu)保證了運(yùn)維人員對底層環(huán)境的掌控,但I(xiàn)aaS層不具備貼近應(yīng)用的資源調(diào)度策略,為了彌補(bǔ)了IaaS平臺(tái)脫離應(yīng)用的缺陷,出現(xiàn)了很多高效便捷的虛擬機(jī)DevOps工具,以虛擬機(jī)鏡像為基礎(chǔ)可以保證生產(chǎn)環(huán)境、測試環(huán)境、開發(fā)環(huán)境上的嚴(yán)格一致。目前基于IaaS的云生態(tài)環(huán)境已經(jīng)具有相當(dāng)高的成熟度。
當(dāng)然,以上這兩種經(jīng)典的云平臺(tái)分層結(jié)構(gòu)依然還是目前傳統(tǒng)云平臺(tái)搭建意識(shí)里的主流,直到Docker的出現(xiàn)。
基于容器的云平臺(tái)
Docker的出現(xiàn)為云平臺(tái)帶來了一個(gè)新的分層結(jié)構(gòu):基于容器的云平臺(tái)。相比經(jīng)典PaaS平臺(tái),基于容器的云平臺(tái)結(jié)構(gòu)更加開放,可直接基于虛擬機(jī)或物理機(jī)搭建。基于容器鏡像的應(yīng)用發(fā)布流程不僅能覆蓋整個(gè)應(yīng)用生命周期,還減少了經(jīng)典PaaS平臺(tái)對應(yīng)用架構(gòu)、支持的軟件環(huán)境服務(wù)等方面的諸多限制,將更多控制力交還給開發(fā)和運(yùn)維人員。
而影響傳統(tǒng)平臺(tái)PaaS結(jié)構(gòu)的核心便是容器編排。
容器編排的演變
容器編排支持打包、部署、隔離、服務(wù)發(fā)現(xiàn)、擴(kuò)容和滾動(dòng)更新,已經(jīng)在影響驅(qū)動(dòng)成熟企業(yè)和初創(chuàng)公司采用容器上起到非常重要作用。
在基于容器的云平臺(tái)中,運(yùn)用Docker容器至應(yīng)用的完整生命周期中時(shí),最困難的便是運(yùn)行微服務(wù)應(yīng)用程序,即如何創(chuàng)建、管理和自動(dòng)化臨時(shí)容器集群。
解決這一挑戰(zhàn)的第一個(gè)主要工具是Mesos及它的編排工具M(jìn)arathon,成熟度最高時(shí)間最久。下一個(gè)得到認(rèn)同的編排工具是Kubernetes(以下簡稱K8s),應(yīng)用最廣泛,社區(qū)支持度最高。之后Docker Swarm也加入了進(jìn)來,使用覆蓋率也很驚喜。當(dāng)然,目前國內(nèi)還出現(xiàn)了自研的容器編排Newben,開發(fā)者為Ghostcloud精靈云。
幾種容器編排的對比
事實(shí)上,如今K8s因?yàn)樗目蓴U(kuò)展性已經(jīng)成為了企業(yè)主流。它支持廣泛的編程語言、基礎(chǔ)設(shè)施選項(xiàng),并獲得容器生態(tài)系統(tǒng)的巨大支持。它將應(yīng)用層與基礎(chǔ)設(shè)施層隔離開來,從而能夠跨多個(gè)云供應(yīng)商和基礎(chǔ)設(shè)施設(shè)置,實(shí)現(xiàn)真正的可移植性。
容器編排K8s和Newben
本文重點(diǎn)介紹在網(wǎng)絡(luò)、應(yīng)用遷移、應(yīng)用快照、模板、負(fù)載均衡、彈性伸縮、高可用、CI/CD集成、灰度發(fā)布和回滾、鏡像集成、日志監(jiān)控等方面同樣優(yōu)秀的兩類容器編排工具Newben和K8s。Newben是Ghostcloud精靈云全自主研發(fā)的容器調(diào)度引擎,是目前國內(nèi)唯一自研引擎。(關(guān)于Newben的介紹可閱讀文章《全自主研發(fā)容器調(diào)度引擎——Newben》)K8s是目前最主流的容器編排。在此,我們簡略地列出了Newben和K8s的部分功能特性,來展示這兩種容器調(diào)度引擎在網(wǎng)絡(luò)、應(yīng)用遷移、負(fù)載均衡、彈性伸縮、調(diào)度規(guī)則等方面的優(yōu)勢。
網(wǎng)絡(luò)
K8s不支持內(nèi)置虛擬網(wǎng)絡(luò),網(wǎng)絡(luò)插件選擇眾多,學(xué)習(xí)成本更高,但從社區(qū)獲得的支持也最多。Newben內(nèi)置支持虛擬網(wǎng)絡(luò),支持多子網(wǎng),支持公有云、主機(jī)托管環(huán)境、二層和三層網(wǎng)絡(luò)以及控制網(wǎng)絡(luò)訪問安全。
應(yīng)用服務(wù)和應(yīng)用棧
在創(chuàng)建應(yīng)用服務(wù)方面, K8s需要多次執(zhí)行命令工具的操作模式,Newben則采用向?qū)絼?chuàng)建的方式,且支持應(yīng)用服務(wù)分組創(chuàng)建應(yīng)用棧。
彈性伸縮
Newben和K8s均可以支持CPU的彈性伸縮。
負(fù)載均衡
Newben和K8s均可實(shí)現(xiàn)負(fù)載均衡和高可用集群。
調(diào)度規(guī)則
K8s的調(diào)度規(guī)則基于標(biāo)簽選擇器,而Newben則同時(shí)基于標(biāo)簽選擇和指定主機(jī)名。
結(jié)語
對企業(yè)而言,編排工具是容器應(yīng)用成功的關(guān)鍵,最主流的PaaS解決方案已經(jīng)擁抱容器,并有新的PaaS 建立在容器編排之上實(shí)現(xiàn)管理平臺(tái)。企業(yè)可以選擇面向
IT運(yùn)維,部署核心容器編排工具,或面向開發(fā),使用PaaS平臺(tái)。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://m.hanmeixuan.com/
本文標(biāo)題:影響傳統(tǒng)PaaS平臺(tái)結(jié)構(gòu)的容器編排工具
本文網(wǎng)址:http://m.hanmeixuan.com/html/solutions/14019321030.html