近日,Kubernetes 在1.20版本中 的 ChangeLog 提到,將廢棄 Docker 做爲容器運行時。docker
kubelet 中的 Docker 支持功能現已棄用,並將在以後的版本中被刪除。Kubelet 以前使用的是一個名爲 dockershim 的模塊,用以實現對 Docker 的 CRI 支持。但 Kubernetes 社區發現了與之相關的維護問題,所以建議你們考慮使用包含 CRI 完整實現的可用容器運行時。spa
雖然這一問題在行業內引發了關注與討論,但其實用戶並不須要感到太驚慌。具體能夠參考《(閒聊)據說 K8s 要甩了 Docker 了》這篇文章中的解釋,以及CNCF 公衆號發佈的《不要驚慌:kubernetes 和 Docker 》。3d
Kubernetes 1.20 版本提到的再也不維護 dockershim 墊片,並逐漸在後續版本中移除該墊片,這意味着在將來的 Kubernetes 環境中,docker 的佔比將逐漸降低。簡而言之,Docker 做爲底層運行時的確正在被棄用,但用戶沒必要驚慌,Docker 生成的鏡像將繼續在用戶的集羣中與全部運行時一塊兒工做。blog
Docker 項目自2013年開源以來,引領了容器技術浪潮,至今仍然是衆多容器環境下的首選,與 kubernetes 集成的成熟度高,最爲穩定。Docker 技術自己在用戶體驗、容器構建等多方面的優秀表現,也會在開發環境、鏡像構建等方面繼續活躍。接口
其次,Docker 項目在最近幾年的進化中,已經拆分紅了多個小項目,例如 containerd / runc 等,這些新生項目也會在將來的 kubernetes 環境中繼續發光發熱。事件
做爲爲企業用戶提供容器雲產品與服務的提供商,博雲也注意到了這一事件,同時咱們也收到部分客戶對這一問題的疑慮。開發
博雲基於 kubernetes 自主研發的容器雲產品是博雲的核心產品之一。所以,博雲一直深耕容器雲底層核心技術的改進與加強,並積極參與開源社區貢獻,對 kubernetes 不斷加強的趨勢一直持續關注和研究。爲使企業客戶避免單一技術綁定帶來的風險,博雲容器雲平臺已經實現提供除 docker 之外的其餘多種容器運行時的支持。rem
目前,博雲容器雲平臺默認使用 Docker 做爲 kubernetes 環境下的容器運行時,但同時也支持任何兼容 CRI 接口的具體實現,例如CRI-O、containerd等,並在實踐項目中進行了實際部署,在技術掌控力、落地實踐等方面有大量經驗。部署
對於已經使用 kubernetes+docker 的用戶來講,這一更改對用戶已有系統的運行不會有任何影響。對於正在建設的項目,這一更改也不會對進行中項目建設產生影響,用戶能夠自願選擇繼續使用穩定性已被驗證的 kubernetes+docker,或是選擇社區推薦的containerd、CRI-O 等新運行時。get
博雲將爲客戶提供系統升級服務選項,供客戶自願選擇:1. 若是您須要實現已有應用遷移到新運行時,能夠考慮利用多集羣管理能力,逐漸將應用進行遷移。2. 若是是新環境,您能夠在新環境中直接考慮使用博雲容器雲平臺支持的containerd、CRI-O 等新運行時。
若有更多疑問,歡迎您向博雲諮詢。