Kubernetes 1.31:节点 Cgroup 驱动程序的自动配置(Beta)
从历史上看,配置正确的 cgroup 驱动程序一直是运行新 Kubernetes 集群的用户的一个痛点。在 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,此功能现已处于测试阶段!
除了设置功能门外,集群管理员还需要确保他们的 CRI 实现足够新
- containerd:在 v2.0.0 中添加了支持
- CRI-O:在 v1.28.0 中添加了支持
然后,他们应该确保他们的 CRI 实现配置为他们想要使用的 cgroup_driver。
未来的工作
最终,将删除对 kubelet 的 cgroupDriver
配置字段的支持,并且如果 CRI 实现不够新而无法支持此功能,则 kubelet 将无法启动。