1. 程式人生 > 其它 >使用containerd部署k8s叢集

使用containerd部署k8s叢集

日常關注科技公眾號的朋友們,可能曾看到過一條訊息:k8s將要棄用docker shim。
到github上查詢一下第一手訊息源可以找到 1.20 changelog (Dockershim deprecation)上寫著:

Docker as an underlying runtime is being deprecated. Docker-produced images will continue to work in your cluster with all runtimes, as they always have. The Kubernetes community has written a blog post about this in detail

with a dedicated FAQ page for it.

根據官方宣告,k8s在1.22版本及之前的版本仍然相容docker。但在2021年即將釋出的1.23版本中,就將不再支援docker。因此對於新的k8s環境部署而言,更改基礎執行時是很有必要的。
本次文章主要講解,如何基於ubuntu+containerd基於裸機環境部署k8s生產環境叢集。

什麼是docker shim,為什麼k8s要棄用它?

docker shim相當於一個轉換器,將k8s的指令翻譯為docker能聽懂的語言。棄用docker shim後 k8s 無需考慮docker shim翻譯過程的bug,或者docker的相容性問題。
棄用docker shim,直接使用containerd,會使得k8s的呼叫流程更為精簡,也會因此獲得更高的穩定性。具體流程如下圖所示。

(to be continued...)

轉載請註明出處: cnblogs.com/wswind