pouch

2017.11.19正式開源pouch

pouch 基于Apache2.0協(xié)議的容器技術(shù)

介紹:
Pouch 是一個輕量級容器技術(shù)
特點:快速高效、可移植性高、資源占用少

github:pouch

11年基于Linux內(nèi)核上的namespace、cgroup等技術(shù)開始成熟、阿里Pouch基于LXC研發(fā)的第一代容器t4
13年Docker橫空出世、解決了行業(yè)多年的"軟件封裝"問題、阿里吸收其經(jīng)驗、打磨Pouch

Pouch規(guī)模
2017 年雙 11,巨額交易 1682 億背后,Pouch 在"超級工程"中做到了:
1、100% 的在線業(yè)務(wù) Pouch 化
2、容器規(guī)模達到百萬級

阿里集團內(nèi)部,Pouch 的日常服務(wù)已經(jīng)覆蓋絕大部分的事業(yè)部,
覆蓋的業(yè)務(wù)場景包括:電商、廣告、搜索等;
覆蓋技術(shù)棧包括:電商應(yīng)用、數(shù)據(jù)庫、大數(shù)據(jù)、流計算等;
覆蓋編程語言:Java、C++、NodeJS 等。

Pouch 技術(shù)優(yōu)勢
1、隔離性強

眾所周知,行業(yè)中的容器方案大多基于 Linux 內(nèi)核提供的 cgroup 和 namespace 來實現(xiàn)隔離,然后這樣的輕量級方案存在弊端:

.容器間,容器與宿主間,共享同一個內(nèi)核;
.內(nèi)核實現(xiàn)的隔離資源,維度不足。

面對如此的內(nèi)核現(xiàn)狀,阿里巴巴采取了三個方面的工作,來解決容器的安全問題:

用戶態(tài)增強容器的隔離維度,比如網(wǎng)絡(luò)帶寬、磁盤使用量等;
給內(nèi)核提交 patch,修復(fù)容器的資源可見性問題,cgroup 方面的 bug;
實現(xiàn)基于 Hypervisor 的容器,通過創(chuàng)建新內(nèi)核來實現(xiàn)容器隔離。

2、P2P鏡像分發(fā)

點對點分發(fā)鏡像【相對于中央倉庫分發(fā)鏡像、極大見笑了中央倉庫的網(wǎng)絡(luò)壓力】

工具:阿里巴巴鏡像分發(fā)工具"蜻蜓"

蜻蜓地址

Pouch 與蜻蜓的使用架構(gòu)圖

3、富容器技術(shù)

 Pouch 技術(shù)可以說對業(yè)務(wù)沒有任何的侵入性,也正是因為這一點在集團內(nèi)部做到 100% 容器化。
這樣的容器技術(shù),被無數(shù)阿里人稱為“富容器”。

“富容器”技術(shù)的實現(xiàn),主要是為了在 Linux 內(nèi)核上創(chuàng)建一個與虛擬機體驗完全一致的容器。
如此一來,比一般容器要功能強大,內(nèi)部有完整的 init 進程,以及業(yè)務(wù)應(yīng)用需要的任何服務(wù),當然這也印證了 Pouch 為什么可以做到對應(yīng)用沒有“侵入性”。
技術(shù)的實現(xiàn)過程中,Pouch 需要將容器的執(zhí)行入口定義為 systemd,而在內(nèi)核態(tài),Pouch 引入了 cgroup namespace 這一最新的內(nèi)核 patch,滿足 systemd 在富容器模式的隔離性。
從企業(yè)運維流程來看,富容器同樣優(yōu)勢明顯。
它可以在應(yīng)用的 Entrypoint 啟動之前做一些事情,比如統(tǒng)一要做一些安全相關(guān)的事情,運維相關(guān)的 agent 拉起。
這些需要統(tǒng)一做的事情,倘若放到用戶的啟動腳本,或鏡像中就對用戶的應(yīng)用誕生了侵入性,而富容器可以透明的處理掉這些事情。

4、內(nèi)核兼容性
可以理解為兼容老版本linux內(nèi)核系統(tǒng)

Pouch生態(tài)架構(gòu)

Pouch 的生態(tài)架構(gòu)可以從兩個方面來看:第一,如何對接容器編排系統(tǒng);第二,如何加強容器運行時。

Pouch內(nèi)部系統(tǒng)架構(gòu)

傳統(tǒng)的容器引擎方案相似,Pouch 也呈現(xiàn)出 C/S 的軟件架構(gòu)。命令行 CLI 層面,可以同時支持 Pouch CLI 以及 Docker CLI。對接容器 runtime,Pouch 內(nèi)部通過 container client 通過 gRPC 調(diào)用 containerd。Pouch Daemon 的內(nèi)部采取組件化的設(shè)計理念,抽離出相應(yīng)的 System Manager、Container Manager、Image Manager、Network Manager、Volume Manager 提供統(tǒng)一化的對象管理方案。

以上內(nèi)容來自 infoq阿里關(guān)于pouch介紹

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容