Menu Close

Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

24.2.3. 了解驱除阈值

您可以配置节点来指定驱除阈值。达到阈值会触发节点回收资源。您可以在 节点配置文件中配置 阈值。

如果满足驱除阈值,且与其关联的宽限期无关,节点会报告一个条件来指示节点处于内存或磁盘压力下。报告压力会阻止调度程序在尝试回收资源时调度节点上的任何其他 pod。

节点继续按照 node-status-update-frequency 参数指定的频率报告节点状态更新。默认频率为 10s (十秒)。

驱除阈值可能 比较困难,因为当您允许回收资源前宽限期时,节点会在达到阈值时立即采取行动,或者是 的。

注意

当您以某一级别使用量为目标时,软驱除使用更为常见,但可以容忍临时激增。我们建议设置软驱除阈值低于硬驱除阈值,但时间周期可以是特定于操作员的。系统保留还应涵盖软驱除阈值。

软驱除阈值是一个高级功能。在尝试使用软驱除阈值前,您应该配置硬驱除阈值。

阈值配置有以下形式:

<eviction_signal><operator><quantity>
  • eviction-signal 值可以是任何 受支持的驱除信号
  • 运算符 值为 <
  • number 必须与 Kubernetes 使用 的数量表示 法匹配,如果以 % 令牌结尾,则可以百分比表示。

例如,如果操作器有一个具有 10Gi 内存的节点,如果可用内存低于 1Gi,则该操作员希望驱除驱除阈值,内存的驱除阈值可以指定为以下之一:

memory.available<1Gi
memory.available<10%
注意

节点每隔 10 秒评估并监控驱除阈值,且无法修改值。这是内务间隔。

24.2.3.1. 了解硬驱除阈值

硬驱除阈值没有宽限期。达到硬驱除阈值时,节点会立即采取措施回收关联的资源。例如,节点可以立即终止一个或多个 pod,且没有安全终止。

要配置硬驱除阈值,请在 eviction-hard 下向 节点配置文件 添加驱除阈值,如 使用 Node Configuration 创建策略 所示。

使用硬驱除阈值的示例节点配置文件

kubeletArguments:
  eviction-hard:
  - memory.available<500Mi
  - nodefs.available<500Mi
  - nodefs.inodesFree<5%
  - imagefs.available<100Mi
  - imagefs.inodesFree<10%

这个示例是一个常规准则,不推荐设置。

24.2.3.1.1. 默认 hardd Eviction Thresholds

OpenShift Container Platform 对 eviction-hard 使用以下默认配置。

...
kubeletArguments:
  eviction-hard:
  - memory.available<100Mi
  - nodefs.available<10%
  - nodefs.inodesFree<5%
  - imagefs.available<15%
...