2020 年 12 月初,Kubernetes 在其最新的 Changelog 中宣佈,自 Kubernetes 1.20 之後將棄用 Docker 作為容器執行時。
棄用 Docker 帶來的,可能是一系列的改變,包括不限於:
專題文章《K8S 1.20 棄用 Docker 評估》會從多方面分析由此帶來的變動和影響,今天先介紹映象格式的改變。
是的,可以使用。Docker 較新版本生成的映象實際上並不是特定於 Docker 的映象,而是 OCI(Open Container Initiative)映象。無論你使用什麼工具構建映象,任何符合 OCI 標準的映象在 Kubernetes 看來都是一樣的。containerd 和 CRI-O 都能夠提取這些映象並執行它們。所以您可以仍然使用 Docker 來構建容器映象,並且可以繼續在 containerd 和 CRI-O 上使用。
具體如下:在 K8S > 1.20 版本中,發現 containerd ctr
上傳到映象倉庫的映象與同版本的 docker 映象間存在以下問題
根本原因還是在於映象格式的差別。下面做詳細解釋。
目前有以下幾種容器映象格式:
{% note danger %}
❌嚴重警告:
Docker V1 格式早已棄用,請不要再使用!!!
{% note info %}