在2016年時,Docker將Docker引擎中的Runtime元件containerd開源釋出,各雲端大廠紛紛承諾要投入該專案。在該開源釋出後,Docker社群與Kubernetes也開始合作,在2017年起開始整合這兩個開源專案,到了今年5月有了重大成果,亦即Kubernetes開始正式支援containerd。

在近日Google則是宣布,自家公有雲下的Kubernetes服務(GKE)要開始支援containerd,開發者可用Google設計的容器作業系統Container-Optimized OS ,搭配containerd作為Runtime元件使用,目前Google以node映像檔格式,在GKE環境提供containerd。不過,現在此功能還處於Beta階段。

Google認為,containerd之所以適合搭配Kubernetes有三大因素。首先,該元件的設計目的,containerd的核心工作是驅動高系統層級的調度,其設計精簡,不須占用過多系統資源、運作穩定外,也能部署於大型系統中運作。第二個因素是其模組化的架構設計,讓開發者更容易搭配實驗更多新功能。最後,containerd擁有健康的生態系社群,除了既有Docker社群資源外,IBM、Google、微軟等大頭亦有投入開發。

想要抽換其他容器Runtime的開發者,Google表示,只要利用Kubernetes內建原生的宣告式API,即可進行替換,「容器Runtime僅是其中一個組成元件而已。」此外,在GKE 1.1 之後的版本,每個新建立叢集中的節點,系統都會預先安裝命令列工具crictl,此工具以Kubernetes容器Runtime介面為基礎,提高此工具在不同容器Runtime間可攜性。


Advertisement

更多 iThome相關內容