Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

23.6. 为 Overcommitment 配置节点

在过量使用的环境中,务必要正确配置节点,以提供最佳的系统行为。

23.6.1. 为不同的服务质量等级保留内存

您可以使用 experimental-qos-reserved 参数指定在特定 QoS 级别上 pod 保留的内存百分比。此功能尝试保留请求的资源,阻止较低 QoS 类中的 pod 使用较高 QoS 类中 pod 所请求的资源。

通过为更高的 QOS 级别保留资源,没有资源限制的 pod 被禁止对 pod 在较高的 QoS 级别请求的资源进行规范化。

要配置 experimental-qos-reserved 参数,请编辑适当的节点 配置映射

kubeletArguments:
  cgroups-per-qos:
  - true
  cgroup-driver:
  - 'systemd'
  cgroup-root:
  - '/'
  experimental-qos-reserved: 1
  - 'memory=50%'
1
指定 pod 资源请求在 QoS 级别保留的方式。

OpenShift Container Platform 使用 experimental-qos-reserved 参数,如下所示:

  • experimental-qos-reserved=memory=100% 的值将阻止 BurstableBestEffort QOS 类消耗较高 QoS 类所请求的内存。这会增加 BestEffortBurstable 工作负载上为了提高 GuaranteedBurstable 工作负载的内存资源保障而遭遇 OOM 的风险。
  • 值为 experimental-qos-reserved=memory=50% 时,允许 BurstableBestEffort QoS 类消耗较高 QoS 类所请求的内存的一半。
  • 值为 experimental-qos-reserved=memory=0% 时,允许 BurstableBestEffort QoS 类最多消耗完整节点可分配量(如果可用),但会增加 Guaranteed 工作负载无法访问请求内存的风险。此条件等同于禁用这项功能。