1-k8s集群安装报错CGROUPS_CPU: missing

发布于:2024-04-25 ⋅ 阅读:(31) ⋅ 点赞:(0)

加入集群报错

[root@iZuf65r8i4e90z40vlh8mgZ ~]# kubeadm join 172.19.35.202:6443 --token 9edy1q.209zfq0387qtiv5x --discovery-token-ca-cert-hash sha256:24e0953896046aa8ce573ec7faf6609b87250883a7691fcad70a0faa81978c3b --control-plane --cri-socket "unix:///var/run/containerd/containerd.sock"
[preflight] Running pre-flight checks
[preflight] The system verification failed. Printing the output from the verification:
KERNEL_VERSION: 5.14.0-362.18.1.el9_3.x86_64
CONFIG_NAMESPACES: enabled
CONFIG_NET_NS: enabled
CONFIG_PID_NS: enabled
CONFIG_IPC_NS: enabled
CONFIG_UTS_NS: enabled
CONFIG_CGROUPS: enabled
CONFIG_CGROUP_CPUACCT: enabled
CONFIG_CGROUP_DEVICE: enabled
CONFIG_CGROUP_FREEZER: enabled
CONFIG_CGROUP_PIDS: enabled
CONFIG_CGROUP_SCHED: enabled
CONFIG_CPUSETS: enabled
CONFIG_MEMCG: enabled
CONFIG_INET: enabled
CONFIG_EXT4_FS: enabled (as module)
CONFIG_PROC_FS: enabled
CONFIG_NETFILTER_XT_TARGET_REDIRECT: enabled (as module)
CONFIG_NETFILTER_XT_MATCH_COMMENT: enabled (as module)
CONFIG_FAIR_GROUP_SCHED: enabled
CONFIG_OVERLAY_FS: enabled (as module)
CONFIG_AUFS_FS: not set - Required for aufs.
CONFIG_BLK_DEV_DM: enabled (as module)
CONFIG_CFS_BANDWIDTH: enabled
CONFIG_CGROUP_HUGETLB: enabled
CONFIG_SECCOMP: enabled
CONFIG_SECCOMP_FILTER: enabled
OS: Linux
CGROUPS_CPU: missing
CGROUPS_CPUSET: enabled
CGROUPS_DEVICES: enabled
CGROUPS_FREEZER: enabled
CGROUPS_MEMORY: enabled
CGROUPS_PIDS: enabled
CGROUPS_HUGETLB: enabled
CGROUPS_IO: enabled
error execution phase preflight: [preflight] Some fatal errors occurred:
	[ERROR SystemVerification]: missing required cgroups: cpu
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
To see the stack trace of this error execute with --v=5 or higher
[root@iZuf65r8i4e90z40vlh8mgZ ~]# 

解决办法:
在 RHEL 9 上配置和启用 cgroups,特别是 CPU 类型的 cgroups,你可以按照以下步骤操作:

1. 检查 cgroups 配置

首先,需要确认你的系统是否已经启用了 CPU cgroups。通常,这应该是默认启用的,但如果由于某些原因被禁用了,你需要手动启用它。

2. 修改 GRUB 配置

如果发现 CPU cgroups 没有启用,你可以通过编辑 GRUB 的启动参数来启用它。执行以下命令来编辑 GRUB 配置文件:

sudo vim /etc/default/grub

在文件中找到 GRUB_CMDLINE_LINUX 这一行,确保包含以下参数:

cgroup_enable=cpu

如果没有这个参数,请添加上去。参数应该在引号内,多个参数之间用空格分隔。

3. 更新 GRUB 并重启

修改完配置文件后,需要更新 GRUB 并重启你的系统,使更改生效:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo reboot

4. 再次尝试加入 Kubernetes 集群

系统重启后,再次尝试执行你的 kubeadm join 命令。

如果你仍然遇到问题,可能需要检查系统日志或者 Kubernetes 的日志,看是否还有其他配置或权限问题需要解决。同时,确保你的 Kubernetes 版本与你的 RHEL 系统版本兼容。