cgroups v2
银河麒麟V10 支持 情况:
最新版的SP3 版本,部分支持 cgroups v2 ,只支持 cpu io memory pids rdma,不支持 cpuset hugetlb 这两个 k8s 依赖的特性。
2024.11.27 更新: 最新版 4.19.90-89.17.v2401 仍然不支持 cpuset hugetlb,因此无法安装 k8s 1.31 及以上的版本。
检查 cgroup2 支持的特性
cat /sys/fs/cgroup/cgroup.controllers
cpu io memory pids rdma
RHEL 8.5 内核
uname -r
4.18.0-553.27.1.el8_10.x86_64
cat /sys/fs/cgroup/cgroup.controllers
cpuset cpu io memory hugetlb pids rdma
6.12 内核,还支持 misc
uname -r
6.12.1-1.el8.elrepo.x86_64
cat /sys/fs/cgroup/cgroup.controllers
cpuset cpu io memory hugetlb pids rdma misc
检查操作系统是否支持 cgroups v2
grep cgroup2 /proc/filesystems
启用 cgroups v2 内核参数
sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=1"
回到 cgroups v1
sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0"
默认支持的操作系统
建议 systemd ≥ v226 with kernel ≥ v5.8
Fedora 31 (默认启用 cgroups v2)
Ubuntu 22.04
Debian 11
RHEL 9
Arch Linux April 2021
Anolis 23.1
openEuler 24.03 LTS
可开启配置支持 Cgroup V2 的操作系统:
RHEL 8
升级操作系统的大版本需要注意的事项
- 升级 iproute2 ,版本应大于或等于内核版本 https://github.com/iproute2/iproute2/tags
- 升级 xfsprogs ,版本应大于或等于内核版本 https://mirrors.edge.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/
- 升级内核的版本为 LTS 版本,最好是 6.6 这种广泛使用的版本。
CentOS 7 支持 Cgroup V2
- 安装 elrepo kernel-lt 5.4 内核
- 安装 systemd 234
- 重启后,设置内核启动参数,再次重启
wget https://copr.fedorainfracloud.org/coprs/jsynacek/systemd-backports-for-centos-7/repo/epel-7/jsynacek-systemd-backports-for-centos-7-epel-7.repo -O /etc/yum.repos.d/jsynacek-systemd-centos-7.repo --no-check-certificate
yum update systemd
(待)支持的软件
libvirt 5.10+ (CentOS8 6.0, Ubuntu20.04 6.0.0, RHEL 9: 8.5.0)
runc 1.0 1.1
https://github.com/opencontainers/runc/issues/2209
kubernetes 1.25
https://github.com/kubernetes/enhancements/pull/1370
moby https://github.com/moby/moby/issues/40360
docker-ce 20.10
containderd 1.4+ 1.6