Kubernetes 向 cgroup v2 的迁移:您需要... 笔记

Kubernetes 向 cgroup v2 的迁移:您需要了解的内容

Kubernetes 使用 Linux cgroups 管理容器资源,正显著向 cgroup v2 迁移。cgroup v1 现已进入维护模式,将在未来的 Kubernetes 版本中完全移除。cgroup v2 提供统一的层级结构、更一致的接口以及增强的资源隔离能力。Kubernetes v1.31 将 cgroup v1 的管理标记为维护状态,而 v2 自 v1.25 起已稳定。较新的 Kubernetes 版本(如 v1.35)默认会在 cgroup v1 节点上阻止 kubelet 启动,除非显式覆盖该行为。从 v1.35 开始,kubeadm 的系统验证检查也会标记 cgroup v1 的使用情况。cgroup v2 支持新功能,例如带有分层保护的内存 QoS,提供优于 cgroup v1 的内存管理能力。它还改进了容器感知的 OOM 处理,确保容器内的所有进程被统一终止。无 root 容器支持也通过 cgroup v2 的委托能力得到了更官方的优化。迁移需要确保与内核版本、容器运行时以及 kubelet 配置的兼容性。