4.10. 配置 Linux cgroup
自 OpenShift Container Platform 4.14 起,OpenShift Container Platform 在集群中使用 Linux 控制组版本 2 (cgroup v2)。如果您在 OpenShift Container Platform 4.13 或更早版本中使用 cgroup v1,迁移到 OpenShift Container Platform 4.14 或更高版本不会自动将 cgroup 配置更新至版本 2。全新安装 OpenShift Container Platform 4.14 或更高版本默认使用 cgroup v2。但是,您可以在安装时启用 Linux 控制组群版本 1 (cgroup v1)。
cgroup v2 是 Linux cgroup API 的当前版本。cgroup v2 比 cgroup v1 提供多种改进,包括统一层次结构、更安全的子树委派、新功能,如 Pressure Stall Information,以及增强的资源管理和隔离。但是,cgroup v2 与 cgroup v1 具有不同的 CPU、内存和 I/O 管理特征。因此,在运行 cgroup v2 的集群上,一些工作负载可能会遇到内存或 CPU 用量差异。
您可以根据需要在 cgroup v1 和 cgroup v2 之间更改。在 OpenShift Container Platform 中启用 cgroup v1 禁用集群中的所有 cgroup v2 控制器和层次结构。
cgroup v1 是一个已弃用的功能。弃用的功能仍然包含在 OpenShift Container Platform 中,并将继续被支持。但是,这个功能会在以后的发行版本中被删除,且不建议在新的部署中使用。
有关 OpenShift Container Platform 中已弃用或删除的主要功能的最新列表,请参阅 OpenShift Container Platform 发行注记中已弃用和删除的功能部分。
先决条件
- 您有一个正在运行的 OpenShift Container Platform 集群,它使用版本 4.12 或更高版本。
- 以具有管理特权的用户身份登录集群。
流程
在节点上启用 cgroup v1:
编辑
node.config
对象:oc edit nodes.config/cluster
$ oc edit nodes.config/cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加
spec.cgroupMode: "v1"
:node.config
对象示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 启用 cgroup v1。
验证
检查机器配置以查看是否添加了新的机器配置:
oc get mc
$ oc get mc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 创建新机器配置,如预期一样。
检查新的
kernelArguments
是否已添加到新机器配置中:oc describe mc <name>
$ oc describe mc <name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cgroup v1 的输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查节点以查看是否禁用了在节点上调度。这表示要应用更改:
oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 节点返回
Ready
状态后,为该节点启动 debug 会话:oc debug node/<node_name>
$ oc debug node/<node_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
/host
设置为 debug shell 中的根目录:chroot /host
sh-4.4# chroot /host
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查您的节点上是否存在
sys/fs/cgroup/cgroup2fs
文件。此文件由 cgroup v1 创建:stat -c %T -f /sys/fs/cgroup
$ stat -c %T -f /sys/fs/cgroup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
cgroup2fs
cgroup2fs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow