亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Kube.NETes1.24版本發布時,正式宣布棄用Dockershim,轉向ContAInerd作為默認的容器運行環境。Kubernetes以CRI(Container Runtime Interface)容器運行時接口制定接入準則,用戶可以使用Containerd、CRI-O、CRI- Dockerd及其他容器運行時作為Kubernetes的容器引擎。

Kubernetes為何棄用Dockershim?

Docker在早期沒有實現Container Runtime Interface (CRI),而CRI是Kubernetes后來增加的對額外運行時的支持標準。Dockershim的存在是為了支持將Docker硬編碼到Kubernetes中,但隨著容器化成為行業標準,Kubernetes項目增加了對額外運行時的支持,比如通過Container Runtime Interface (CRI)容器運行時接口來支持運行容器。因此,在Kubernetes1.20版本發布的時候提到未來會棄用Dockershim引擎,而在Kubernetes1.24版本發布時, 正式棄用之。

什么是 Containerd ?

containerd是一種容器運行時引擎,原屬于Docker的組件的一部分,主要提供容器生命周期管理(從創建到銷毀容器)、拉取和推送鏡像、存儲管理(管理鏡像及容器數據的存儲)、調用runc容器運行等,現已由開源社區拆分脫離出來單獨作為容器運行時項目。

在Kubernetes中,Containerd作為容器運行環境,負責管理Pod的生命周期,包括容器的創建、啟動、停止和刪除等操作。與Dockershim相比,Containerd具有更好的性能、更強的可擴展性以及更簡潔的架構。

Kubernetes棄用Dockershim,轉向Containerd:影響及如何應對

容器運行底層組件有哪些關系?

Docker Client和Docker Daemon:Docker Client是Docker的客戶端,它可以通過命令行或API向Docker Daemon發送請求。Docker Daemon是Docker的核心組件,負責管理鏡像、容器、網絡和卷等資源,并將Docker API暴露給客戶端。

Docker鏡像和Docker容器:Docker鏡像是只讀的模板,包含了所有用于運行應用程序所需要的代碼、庫文件、環境變量和配置文件等內容。Docker容器是基于Docker鏡像創建的可運行實例。每個容器都是一個獨立的、輕量級的操作系統,它們之間相互隔離并且可以共享主機的內核。

CRI(Container Runtime Interface)和容器運行時:CRI是Kubernetes的容器運行時標準接口,滿足這個標準的所有容器運行時都可以被使用。容器運行時則提供了一個輕量級的容器運行環境,用于創建、啟動和停止容器。

OCI(Open Container Initiative)和runc:OCI是一個開放的容器組織,它制定了容器運行時的規范,包括運行時規范、容器鏡像規范等。runc是OCI標準的一個參考實現,它與容器所依賴的cgroup/linux kernel等進行交互,是容器最終運行的形態之一。

Kubernetes棄用Dockershim,轉向Containerd:影響及如何應對

Containerd在Kubernetes的運行變化

在Kubernetes 1.24版本以前,Kubernetes通過調用Docker命令來創建容器。具體來說,Kubernetes將任務發送給Docker客戶端,然后Docker客戶端通過與Docker守護進程(daemon)通信來創建容器。Docker守護進程會通過Image模塊下載鏡像并保存,然后通過client調用containerd創建并運行容器。在這個過程中,如果需要給容器添加持久化存儲,可以使用volume參數;如果需要配置容器網絡,可以通過network參數來實現。

然而,Kubernetes提供了更強大的卷掛載能力和集群級別的網絡能力。在集群中,kubelet只會使用到Docker提供的鏡像下載和容器管理功能,而編排、網絡、存儲等功能都不會用到。

在Kubernetes 1.24版本以后,Containerd作為容器運行時被引入,帶來了創建Pod所需的所有功能。與之前的方案相比,這不僅帶來了更純粹的功能模塊,而且縮短了調用鏈,提高了系統的效率和穩定性。因此,用戶可以使用Containerd、CRI-O、CRI-Dockerd及其他容器運行時作為Kubernetes的容器引擎。

Kubernetes棄用Dockershim,轉向Containerd:影響及如何應對

Containerd在Kubernetes中的工作流

  1. Kubelet通過CRI運行時服務API調用CRI插件來創建Pod。
  2. CRI創建一個特殊的沙箱容器(pause容器),并將其放置在Pod的Cgroups和NameSpace命名空間中。
  3. CRI使用CNI配置Pod的網絡命名空間。
  4. Kubelet隨后通過CRI鏡像服務API調用CRI插件來拉取應用容器鏡像。如果鏡像不存在于節點上,CRI會進一步使用Containerd來拉取鏡像。
  5.  Kubelet通過CRI運行時服務API調用CRI,并使用拉取的容器鏡像在Pod內創建和啟動應用程序容器。
  6. CRI創建應用程序容器,將其放入Pod的Cgroups和NameSpace中,然后啟動Pod的新應用容器。

在這些步驟之后,一個Pod及其相應的應用程序容器被創建并運行。

Kubernetes棄用Dockershim,轉向Containerd:影響及如何應對

Kubernetes棄用Dockershim的影響

容器鏡像,由于Docker鏡像符合OCI規范,因此可以直接使用而不受影響。此外,原鏡像打包方式仍然可用,即使用docker build方式打包鏡像。這意味著用戶在構建和打包鏡像時不需要做出任何改變

Kubernetes中的運行過程,作為終端用戶(Kubernetes使用者)基本也不會有任何影響,因為Kubernetes的使用邏輯沒有任何變化。然而,與Dockershim相關的API接口已經棄用,如果創建了此類CRD,需要注意修改相關代碼。

運維方式,節點后端運維時使用的命令由docker命令改為containerd。如果舊環境使用的是Dockershim引擎,需要先改為containerd運行時再進行升級。運維人員則需要適應新的命令行工具和運行時環境。

Kubernetes棄用Dockershim而采用containerd作為容器運行時對用戶和運維方式會有一些影響,但對于已經符合OCI規范的鏡像和使用docker build方式打包鏡像的用戶來說,基本無感知。

Kubernetes用戶如何應對?

用戶需要按照Kubernetes官方提供的遷移指南進行操作。這包括更新Kubernetes版本、修改Pod配置文件、調整部署流程、更換鏡像管理工具以及重新配置監控和日志采集工具等步驟。在遷移過程中,用戶還需要注意測試新環境的穩定性和性能,確保遷移成功。

在遷移過程中,用戶可能會遇到各種問題,如配置錯誤、兼容性問題、性能下降等。為了解決這些問題,用戶可以參考Kubernetes官方文檔和社區資源,或者向靈雀云的服務團隊尋求幫助和支持。此外,用戶還可以在測試環境中模擬遷移過程,提前發現和解決問題。

遷移到Containerd后,用戶可以對系統進行一系列優化和改進,以提高性能和穩定性。例如,優化Pod的配置和部署流程、使用更高效的網絡配置方式、改進監控和日志采集策略等。此外,用戶還可以關注Kubernetes和Containerd的最新版本和功能更新,及時跟進技術發展趨勢。

Kubernetes棄用Dockershim,轉向Containerd:影響及如何應對

結論與展望

Kubernetes棄用Dockershim并轉向Containerd已經成為一個明顯的趨勢信號。對于現有的Kubernetes用戶來說,應盡快了解這一變化的影響和應對策略,找到適合自己的方案并盡早進行改進。未來,Kubernetes與Containerd的發展趨勢將更加緊密地結合在一起,共同推動容器技術的不斷創新和發展。

參考文檔:

 

  • https://kubernetes.io/zh-cn/blog/2022/02/17/dockershim-faq/
  • https://kubernetes.io/zh-cn/blog/2020/12/02/dont-panic-kubernetes-and-docker/

分享到:
標簽:Kubernetes
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定