作者:精靈雲
前言:

三天前,精靈雲的客服曾收到過如下一番對話。
newben被使用者比喻為了“中國的k8s”這點另我們倍感意外,然而問題也接踵而至:newben能當得起“中國的k8s”這個稱号嗎? 于是,從newben的設計和功能特性兩個方面我們認真地進行了思考。
newben是什麼?
大家所熟知的容器排程引擎比如:k8s, swarm, mesos等都是開源的,它們可實作的功能和在功能實作的方式上都不盡相同。docker從2012年開源後的5年裡,精靈雲核心創始團隊在接觸企業使用者的時候,尤其是軍工、政務、金融等領域的企業,發現開源的容器排程架構技術并不能完全滿足他們的需求。為什麼這麼說?排程引擎是容器最核心的子產品,在paas這個關鍵的雲計算領域不應該由國外來主導,它應該是完全自主可控且安全的。于是在這樣的背景下,newben應運而生。
(newben的邏輯架構)
從newben的邏輯架構圖可以看出,最上層是高可用叢集,中間接負載均衡器,底層接多個應用服務, newben從設計之初就支援高可用,負載均衡和彈性伸縮,以及多服務挂載,這點和市面上開源的容器排程架構保持了一緻。
newben=“中國的k8s”?
kubernetes(k8s)是google開源的容器叢集管理系統,也是目前市面上最主流的容器排程管理系統,此外還有mesos、docker swarm等。如下圖所示,将newben、k8s、mesos和swarm進行詳細對比,會發現newben事實上吸取了各開源排程引擎的長處,在網絡、應用遷移、應用快照、模闆、負載均衡、彈性伸縮、高可用、ci/cd內建、灰階釋出和復原、鏡像內建、日志監控等方面對比開源技術都有着非常大的優勢。
(newben和開源容器排程架構的對比)
在此節選六大功能詳細說明newben的優勢和特性:
l可視化
從操作上來看, newben将操作體驗完全改良,所有操作均可視化,友善管理和維護的同時,可幫助使用者實時檢查錯誤避免失誤。
l網絡
newben内置支援虛拟網絡,支援多子網,支援公有雲、主機托管環境、二層和三層網絡以及控制網絡通路安全。
l彈性伸縮
除了可以支援cpu的彈性伸縮之外,newben還可支援記憶體的彈性伸縮,這讓newben可适應更多場景。
l應用服務和應用棧
在建立應用服務方面,newben摒棄了k8s需要多次執行指令工具的操作模式,采用向導式建立的方式,簡化了繁瑣的配置工作,且支援應用服務分組建立應用棧,既保證了建立應用配置的流暢性也實作了應用服務之間的靈活通路控制。
l負載均衡
newben可實作負載均衡和高可用叢集,可通過向導方式建立并呈現負載均衡、高可用叢集和應用服務之間的拓撲結構,更清晰直覺。
l排程規則
newben的排程規則基于标簽選擇和指定主機名,通過指定主機的排程規則,可以實作特殊硬體需求的定義,例如mysql需要主機具備更快更安全的磁盤,負載均衡對外釋出時需要指定具有特定外部網絡的主機。newben的排程規則基礎決定了newben可同時支援分散、聚集和主機唯一的排程政策。通過分散可以更好的分攤服務均衡性提高可用性,通過聚集可以最大限度的榨取主機資源避免浪費,同時,聚集政策也會優先的将容器建立在已經有執行個體運作的伺服器上,可以快速的建立容器,減少鏡像拉取時間和磁盤空間浪費。
總結
綜上所述,不可否認的是擁有龐大代碼貢獻源的k8s仍然有其不可逾越的優勢,也是目前容器技術應用中的主流。而newben的設計也曾集合k8s所長,并在精靈雲容器平台驗證的過程中不斷優化和完善。通過對比分析,newben在k8s的長項,比如輕量化、容器排程規則、負載均衡、彈性伸縮和高可用等方面都可與其娉美,除了不開源,newben也的确稱得上“中國的k8s”這個稱謂。
newben的名字取自“牛犇”的諧音,意在建構一個穩定、牢固的容器排程引擎。如今在支撐過數萬使用者和數十萬的容器排程考驗後,newben已經成為目前國内定制能力最強,支撐功能最豐富的容器排程架構。而newben并未開源,現已全面内置在精靈雲的ecos平台上,大家可前往精靈雲官網申請下載下傳試用。(位址:www.ghostcloud.cn)