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 將無法啟動。