Dockershim 即將被移除 看 SUSE Rancher 的應對之道

行業數字化轉型如火如荼,企業正在全面轉向雲原生平臺,並由此引發了架構方案、生產方式、思維模式、商業模式等一系列的變革。Gartner 的預測顯示,到 2025 年,95% 以上的數字化轉型方案將選擇雲原生平臺作爲基礎,而在 2021 年這一比例只有不到 40%。

與此同時,以容器爲代表的雲原生技術也在持續演進,尤其在 Kubernetes 成爲雲原生體系的技術核心以後。容器技術已經進入 Kubernetes 時代,原來的技術體系正在悄然改變。早在 2020 年 12 月,Kubernetes 就宣佈將棄用 dockershim,從那時起,業界就在尋求移除 dockershim 的替代方案。

經過過去一年的過渡,日前,Kubernetes 宣佈,將在 Kubernetes 1.24 版本中刪除 dockershim,該版本定於今年 4 月左右發佈。對此,SUSE Rancher 作爲一個開源的企業級 Kubernetes 管理平臺,早已給出了應對之道。

在日前的相關主題直播中(https://www.bilibili.com/video/BV1Xa411C78k?spm_id_from=333.999.0.),SUSE Rancher 大中華區研發總監張智博表示,針對習慣於使用 docker 的用戶,SUSE Rancher 將繼續爲客戶提供 Kubernetes+Docker 相關技術產品;對於那些希望跟隨 Kubernetes 上游發展的用戶,SUSE Rancher 則通過提供 Kubernetes+Containerd 相關技術產品幫助企業擁抱容器、擁抱雲原生。

Kubernetes 崛起,棄用 Dockershim 是技術發展的必然

要弄清楚 Kubernetes 爲何會棄用 dockershim,還要從容器技術的發展說起。在容器技術崛起之前,業界最熱門的技術是虛擬化平臺,如 VMWare、OpenStack 等。儘管虛擬機可以“虛擬”出很多子系統,但存在佔用空間大、啓動慢、資源佔用高等問題。

像 Docker 這樣的容器技術,屬於輕量級的“虛擬化”,它不需要“虛擬”出整個操作系統,只需要“虛擬”一個小規模的環境(類似“沙箱”),從而成功規避了虛擬機的缺點,受到業界的熱烈歡迎和追捧。

不過,在 2013 年 Docker 開源以後,新的問題出現了:Docker 只是創建容器的工具,是應用容器引擎,它本身並不是容器;如果想將 Docker 應用於具體的業務層面,還需要對其進行編排、管理和調度。2014 年,Kubernetes 橫空出世並默認使用 Docker 作爲容器運行,實現了對容器的編排、管理和調度。

隨後,Kubernetes 的代碼當中包含了很多與 Docker 相關的操作邏輯,爲了能夠做解耦,兼容更多的容器運行時,Kubernetes 將操作 Docker 的相關邏輯獨立出來,組成了 dockershim。因此,dockershim 可以看作是 Kubernetes 的一個組件,主要目的是爲了通過 CRI (容器運行時接口)操作 Docker;也就是說,dockershim 相當於 Kubernetes 和 Docker 的一箇中轉站或者樞紐。

這樣一來,Kubernetes 或 Docker 有任何的功能變動,dockershim 代碼都必須隨之改動,以支持變更。但 Docker 的底層運行時是 containerd,而 containerd 也支持 CRI, Kubernetes 完全可以繞過 dockershim 這一中轉站直接通過 CRI 與 containerd 進行交互;此外,隨着容器技術的演進,容器運行時也變得多種多樣,Kubernetes 通過 CRI 即可與它們進行交互,dockershim 因此變得可有可無。

面對變革,SUSE Rancher 的建議和應對之道

儘管 Kubernetes 即將棄用 dockershim,但這並不意味着 Docker 已經過時;相反,Docker 的性能久經考驗,技術也更爲成熟,不僅擁有龐大的用戶羣體,也是相當長一段時間裏,企業開展容器技術應用的重要切入點。

在 Apache APISIX PMC 張晉濤看來,Docker 的發展之所以顯現疲態,與其開源之後一直沒有找到合適的商業化路線有關。未來,Docker 最核心的動作就是 Kubernetes 給開發者提供好用的容器技術,它的定位依然是容器平臺,而不是底層的容器運行時。

未來的容器運行時將是 containerd 的天下,張智博認爲,棄用 dockershim 爲containerd 的快速普及帶來了新的機遇,這一點在 2021年 CNCF Survey 上有很明顯的展示,大多數用戶均選擇 containerd 替換 Docker 的方案。不過,底層技術的變革並不會對企業用戶帶來多大影響,公有云和其他商業廠商以及開源社區會有足夠多的技術路線來規避風險。

正如張晉濤所說,採用雲服務的企業對容器運行時的切換其實是無感知的。即便企業採用的不是雲上託管而是自建雲的模式,終端用戶也無需關注這一點,只有企業中負責 Kubernetes 維護管理的運維人員纔會在意。因此,張智博建議,企業要以不變應萬變,業務穩定性永遠是第一考量,而非技術架構的先進性。

不論是 Kubernetes 的突飛猛進、Docker 的日漸式微,還是 containerd 的大勢所趨,企業短期內都無需過分關注。對於那些構建在公有云上的業務,雲廠商已經幫助企業客戶解決了底層技術架構升級的問題;而對於構建了私有云的企業客戶來說,他們也不必破壞傳統技術架構的穩定性和持久性,只需要在建立新的集羣時逐步完成 containerd 的逐步替代和切換。

面對這一技術變革,SUSE Rancher 採用了商業廠商面向開源社區推動的 cri-dockerd 方案,確保 RKE 集羣可以繼續利用 Docker 作爲其容器運行時;而對於希望跟隨上游發展而移除 Docker 的用戶,SUSE Rancher 的 K3s/RKE2 等開源產品均使用 containerd 作爲默認運行時,K3s 可以面向本地開發以及邊緣環境,RKE2 則可以面向數據中心使用場景。

也就是說,儘管 SUSE Rancher 是開源廠商,但非常重視開源的商業化。雖然技術的發展趨向於 containerd,SUSE Rancher 並不會強制客戶去 Docker,如果企業客戶依然在使用 Docker,SUSE Rancher 也會繼續維護這類項目。

加速技術迭代,SUSE 激活企業無限創新潛力

在雲原生領域,Kubernetes 棄用 Dockershim 只是容器技術演進過程中的一個小插曲;當前,各行各業數字化轉型持續深入,企業客戶正在向雲計算技術提出越來越多的新要求。

日前,CNCF 發佈的 2021 年度調查報告顯示,96% 的企業正在使用或評估Kubernetes,這一數據是自 2016 年開啓該項調查以來的歷史新高。CNCF 認爲,容器和 Kubernetes 的事實地位已經鞏固,隨着技術的發展,容器和 Kubernetes 將慢慢轉向“幕後”工作;與過去相比,企業似乎更密集地使用無服務器和託管服務,開發者也不一定需要了解底層容器技術。

正是預判了這一趨勢,SUSE 作爲全球最大的獨立開源公司,在 2020 年完成了對 Kubernetes 管理領域市場領導者 Rancher Labs 的收購,從而具備了全面覆蓋企業級 Linux、容器、Kubernetes 和邊緣計算等領域的綜合實力,可以幫助企業客戶在數據中心、雲端、邊緣側等任意場景創新。

2021年底,SUSE 通過 Kubernetes 構建的超融合基礎架構(HCI)開源軟件Harvester 正式 GA,自此 SUSE 的產品陣容已經擴展到超融合基礎設施領域。不久前,SUSE 又正式發佈了容器桌面管理工具 Rancher Desktop 1.0.0,可以幫助企業客戶在 Mac、Windows 和 Linux 系統中以桌面形式管理 Kubernetes 和容器。

從容器到 Kubernetes,從企業級 Linux 到邊緣計算,從開源到開放,SUSE 正在走向比雲計算更廣闊的數字化星辰大海。

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