诺志
软硬件开发技术笔记
k8s提示cgroups v1进入维护模式不再支持的解决方法
2025-04-09

部署k8s提示cgroups v1不再支持cgroups v1 support is in maintenance mode, please migrate to cgroups v2
参见: https://kubernetes.io/blog/2024/08/14/kubernetes-1-31-moving-cgroup-v1-support-maintenance-mode/

# kubeadm init --config kubeadm.yaml
[init] Using Kubernetes version: v1.32.0
[preflight] Running pre-flight checks
    [WARNING SystemVerification]: cgroups v1 support is in maintenance mode, please migrate to cgroups v2
[preflight] Pulling images required for setting up a Kubernetes cluster
[preflight] This might take a minute or two, depending on the speed of your internet connection

该限制是从k8s-1.31开始,实际不影响使用,但是新功能不再支持,如果想将cgroup迁移到v2,可按如下方式设置
注意: 仅比较新的内核支持cgroup-v2,老的操作系统可能无法开启

如果输出是tmpfs说明是v1
# stat -fc %T /sys/fs/cgroup
tmpfs

编辑grub,在GRUB_CMDLINE_LINUX后增加 systemd.unified_cgroup_hierarchy=1
# cat /etc/default/grub | grep GRUB_CMDLINE_LINUX
GRUB_CMDLINE_LINUX="resume=/dev/mapper/openeuler-swap rd.lvm.lv=openeuler/root rd.lvm.lv=openeuler/swap cgroup_disable=files apparmor=0 crashkernel=512M systemd.unified_cgroup_hierarchy=1"

生成group
# grub2-mkconfig -o /boot/grub2/grub.cfg

重启
# sync
# init 6

确认是否修改成功
# stat -fc %T /sys/fs/cgroup
cgroup2fs
分类
2篇
c
1篇
8篇
18篇
8篇
2篇
k8s
2篇
搜索