Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

22.6. 节点强制

节点可以根据配置的可分配值限制 pod 可消耗的资源总量。此功能可以防止 pod 使用系统服务(如容器运行时和节点代理)所需的 CPU 和内存资源,从而显著提高节点可靠性。为提高节点可靠性,管理员应该根据目标保留资源使用。

节点使用一个新的 cgroup 分级结构来强制实施资源限制,它强制实现服务质量。所有 pod 都在专用的 cgroup 层次结构中启动,与系统守护进程隔离。

要配置节点强制,请在适当的 节点配置映射 中使用以下参数:

例 22.2. 节点 Cgroup 设置

kubeletArguments:
  cgroups-per-qos:
    - "true" 1
  cgroup-driver:
    - "systemd" 2
  enforce-node-allocatable:
    - "pods" 3
1
为每个服务质量启用或禁用 cgroup 层次结构。cgroups 由节点管理。任何更改此设置都需要完全排空节点。此标志必须为 true,以便节点强制实施 node-allocatable 资源限制。默认值为 true,红帽建议客户不要更改这个值。
2
节点用于管理 cgroup 层次结构的 cgroup 驱动程序。此值必须与与容器运行时关联的驱动程序匹配。有效值是 systemdcgroupfs,但红帽支持 systemd
3
以逗号分隔的范围列表,用于节点应强制执行节点资源限制的范围。默认值为 pod,红帽支持 pod

管理员应该像对待具有保证服务质量的 pod 一样对待系统守护进程。系统守护进程可能会在其限定控制组中爆发,此行为需要作为集群部署的一个部分进行管理。通过在 system-reserved 中指定资源来为系统守护进程保留 CPU 和内存资源,如为 分配资源配置节点一节所示。

要查看设置的 cgroup 驱动程序,请运行以下命令:

$ systemctl status atomic-openshift-node -l | grep cgroup-driver=

输出包括类似如下的响应:

--cgroup-driver=systemd

有关管理和故障排除 cgroup 驱动程序的更多信息,请参阅 控制组(Cgroups)简介