本文發表於一年多前。舊文章可能包含過時內容。請檢查頁面中的資訊自發布以來是否已變得不正確。
Kubernetes 1.31:節點 Cgroup 驅動程式自動配置(Beta)
一直以來,對於執行新 Kubernetes 叢集的使用者來說,配置正確的 cgroup 驅動程式都是一個痛點。在 Linux 系統上,有兩種不同的 cgroup 驅動程式:cgroupfs
和 systemd
。過去,kubelet 和 CRI 實現(如 CRI-O 或 containerd)都需要配置為使用相同的 cgroup 驅動程式,否則 kubelet 會因錯誤而退出。這對許多叢集管理員來說都是一個頭疼的問題。然而,隧道盡頭終有曙光!
自動 cgroup 驅動程式檢測
在 v1.28.0 中,SIG Node 社群引入了特性門控 KubeletCgroupDriverFromCRI
,它指示 kubelet 向 CRI 實現詢問要使用哪個 cgroup 驅動程式。在我們等待兩大 CRI 實現(containerd 和 CRI-O)提供支援的過程中,Kubernetes 釋出了幾個小的次要版本,但從 v1.31.0 開始,該功能現已進入 Beta 階段!
除了設定特性門控外,叢集管理員還需要確保其 CRI 實現版本足夠新
- containerd:在 v2.0.0 中添加了支援
- CRI-O:在 v1.28.0 中添加了支援
然後,他們應確保其 CRI 實現已配置為他們想要使用的 cgroup_driver。
未來的工作
最終,kubelet 的 cgroupDriver
配置欄位將不再被支援,如果 CRI 實現版本不夠新以支援此功能,kubelet 將無法啟動。