開源容器項(xiàng)目是現(xiàn)代云原生景觀的基礎(chǔ)元素,提供每天數(shù)百萬個應(yīng)用程序使用的容器運(yùn)行時。2月28日,集裝箱項(xiàng)目達(dá)到了一個重要的里程碑,正式從云原生計算基金會(CNCF)畢業(yè),突出了該項(xiàng)目的整體成熟度和穩(wěn)定性。畢業(yè)是CNCF中項(xiàng)目的最高級別,它包含40多個云原生項(xiàng)目,包括Kubernetes容器編排系統(tǒng)。
“對于很多外部用戶來說,特別是在企業(yè)層面,畢業(yè)展示了項(xiàng)目的成熟度,”容器維護(hù)人員和Docker工程師Michael Crosby告訴eWEEK。“我們已經(jīng)檢查了基金會的所有標(biāo)準(zhǔn),包括治理和公平性,以及如何為項(xiàng)目提供代碼和管理代碼。
Crosby是幫助創(chuàng)建容器的核心開發(fā)人員之一。早在2016年12月,Docker 宣布將重構(gòu)其容器運(yùn)行時的工作方式和結(jié)構(gòu)。當(dāng)時,Docker Engine在單個項(xiàng)目中包含了運(yùn)行時和容器應(yīng)用程序交付的所有相關(guān)組件。使用containerd,這項(xiàng)工作被分解為僅為容器運(yùn)行時組件創(chuàng)建一個更開放,更敏捷的方法。
該集裝箱項(xiàng)目于2017年3月正式加入 CNCF .CNCF有多個級別的項(xiàng)目,從沙箱級別開始,然后進(jìn)入孵化階段,最后進(jìn)入畢業(yè)級別。
安全審計
達(dá)到CNCF畢業(yè)地位的核心要素是對項(xiàng)目進(jìn)行嚴(yán)格的安全審核。Crosby說,審計人員研究了不同的領(lǐng)域,包括API內(nèi)存利用,通用代碼質(zhì)量和維護(hù)。
“無論是containerd容器運(yùn)行時和Kubernetes CRI插件是很好的從安全角度寫的,”審計指出。“Go語言的選擇使得在這個任務(wù)期間很難找到任何類型的內(nèi)存損壞或類似的錯誤,最終導(dǎo)致沒有發(fā)現(xiàn)這樣的問題。大多數(shù)代碼都以干凈的方式編寫,從而簡化了代碼審核。“
穩(wěn)定性
containerd的核心元素是項(xiàng)目的穩(wěn)定性,這一點(diǎn)尤其重要,因?yàn)樗菙?shù)千萬個云原生計算部署的基石。
“Containerd是無聊的運(yùn)行時,因此我們的優(yōu)先事項(xiàng)始終是性能,穩(wěn)定性和可靠性,”Crosby說。
穩(wěn)定的一部分是能夠以可靠的方式處理錯誤和安全修復(fù)程序的修補(bǔ)程序,而不會破壞用戶部署。Crosby解釋說,從containerd 1.0到1.2分支,項(xiàng)目可以回傳補(bǔ)丁,因?yàn)橛幸粋€維護(hù)良好的發(fā)布過程。
“我們有一個非常好的過程,隨著時間的推移穩(wěn)定性發(fā)生,我們已經(jīng)構(gòu)建了項(xiàng)目,以便毫不費(fèi)力地處理后退,”他說。
當(dāng)containerd開始時,這是Docker的努力,但作為CNCF的一部分,它受益于來自多個組織的各種貢獻(xiàn),包括IBM,谷歌,阿里巴巴和華為??肆_斯比說,該項(xiàng)目有很多貢獻(xiàn)者可以很好地協(xié)同工作。
“這是一個充滿活力的多供應(yīng)商項(xiàng)目,現(xiàn)在已經(jīng)在Docker的背景下使用了數(shù)百萬次,對我們而言,它是我們技術(shù)的基礎(chǔ),”Docker戰(zhàn)略聯(lián)盟執(zhí)行副總裁Dave Messina告訴eWEEK。“在這里進(jìn)行協(xié)作的能力使我們能夠?qū)W⒂谖覀兊亩褩V懈邔哟蔚氖虑?,并推動我們的桌面技術(shù),引擎和整個企業(yè)平臺的廣泛采用。”
容器1.3
現(xiàn)在容器已經(jīng)畢業(yè)了,Crosby實(shí)際上并不期望隨著項(xiàng)目的繼續(xù)向前發(fā)展,項(xiàng)目的日常工作會有所改變。開發(fā)人員現(xiàn)在正在開發(fā)containerd的1.3版本,它將提供支持Microsoft Windows操作系統(tǒng)的新功能。
克羅斯比說:“對于這個項(xiàng)目,我們只想做一些非常好的東西,每個人都在使用容器。” “我們會繼續(xù)讓它變得更快更好,我們會看到最終的結(jié)果。