CRI-O進入CNCF孵化階段,或將挑戰Docker在容器界的地位

根據ZDNet的消息,近期CNCF正式接納了CRI-O爲孵化項目,這意味着CRI-O或許將直接挑戰Docker作爲頂級容器運行時的地位。

CRI-O(Container Runtime Interface Orchestrator) 是一個輕量級的,專門對Kubernetes進行優化的容器運行時環境。CRI最初是作爲API來定義對容器運行時的調用,這允許用戶開發Kubernetes友好的輕量級容器運行時程序。CRI-O是第一個與Kubernetes CRI兼容的容器運行時,由Google、Red Hat、英特爾、SUSE和IBM聯合開發。

幾年前,Docker很受歡迎。要大規模運行容器,你需要一個編排程序。到2017年底,Kubernetes已成爲最受歡迎的容器編排器。

當然,你可以在Kubernetes之下用Docker運行容器。實際上,Docker仍然是Kubernetes的默認容器運行時。但輕量級的CRI-O運行時可以更好地通過API與Kubernetes一起使用。

CRI-O有如下功能:

  • 存儲github.com/containers/storage 庫用於管理層併爲pod中的容器創建根文件系統:實現OverlayFS,devicemapper,AUFS和btrfs,OverlayFS作爲默認驅動程序。
  • 容器鏡像github.com/containers/image 庫用於從註冊表中提取圖像。 目前,它支持Docker schema 2 /版本1以及schema 2 /版本2。它還通過了所有的Docker和Kubernetes測試。
  • 網絡:容器網絡接口(CNI)用於爲容器設置網絡。各種CNI插件如Flannel,Weave,Cilium和OpenShift-SDN已經經過了CRI-O的測試,並且能按預期工作。
  • 監控github.com/containers/conmon 是CRI-O中的一個實用程序,用於監控容器,處理來自容器進程的日誌記錄,爲附加客戶端提供服務以及檢測和報告內存不足的情況。
  • 安全:容器安全分離策略由一系列工具提供,包括SELinux,Capabilities,seccomp和OCI規範中指定的其他安全分離策略。

CRI-O已經非常受歡迎了。Kubernetes聯合創始人Brendan Burns表示,部分原因是因爲CRI-O的創始負責人不是在重複造輪子,而是使用共享組件,在生產中測試後改進的方法,以及現有的經過實戰檢驗的代碼。因爲CRI- O是專爲Kubernetes量身定製的,它針對性能,穩定性,兼容性和其他標準,特別是Kubernetes一致性測試,進行了調整。CRI-O是Kubernetes集羣的構建塊,可以根據需要促進容器的生命週期。

這是否意味着CRI-O將取代Docker? 是的,但也不是。

正如Red Hat高級工程師和CRI-O維護者Antonio Murdaca所解釋的那樣,“CRI-O是否會取代Docker?並不會,或者說,它是一個以Kubernetes爲中心的運行時,因此它在Kubernetes的背景下取代了Docker。但是Docker作爲我們習慣的開發工具,CRI-O是沒有辦法取代的,因爲它沒有實現Docker Engine API或Docker CLI。這意味着你不能使用Docker CLI與CRI-O守護進程通信。你必須經過Kubernetes才能實現通信。“

CRI-O仍然會給Docker帶來競爭。正如CNCF首席技術官Chris Aniszczyk所寫,“CNCF擁有各種容器運行時,我們很高興CRI-O加入它們進行孵化。選擇和競爭將使最終用戶受益。”

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章