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