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