24.2.3. 了解驱除阈值
您可以配置节点来指定驱除阈值。达到阈值会触发节点重新声明资源。您可以在节点配置文件 中配置 阈值。
如果达到驱除阈值,则独立于其关联的宽限期,节点会报告一个条件以指示节点处于内存或磁盘压力下。报告压力可防止调度程序在节点上调度任何其他 pod,同时尝试重新声明资源。
节点将继续根据 node-status-update-frequency
参数指定的频率报告节点状态更新。默认频率为 10s
(秒)。
驱除阈值可能是 硬 的,当您在重新声明资源前允许宽限期时,节点会在达到阈值时立即采取操作,或 软 操作。
以特定级别利用率为目标时,软驱除用量更为常见,但可以容忍临时高峰。我们推荐设置软驱除阈值低于硬驱除阈值,但时间周期可以特定于 operator。系统保留应同时覆盖软驱除阈值。
软驱除阈值是高级功能。您应该在尝试使用软驱除阈值前配置硬驱除阈值。
阈值使用以下格式进行配置:
<eviction_signal><operator><quantity>
例如,如果 Operator 有一个具有 10Gi 内存的节点,且如果可用内存低于 1Gi,则操作员希望避免驱除,则内存的驱除阈值可以指定为以下之一:
memory.available<1Gi memory.available<10%
节点每 10 秒评估和监控驱除阈值,且无法修改值。这是内务处理间隔。
24.2.3.1. 了解 Hard Eviction Thresholds
硬驱除阈值没有宽限期。当达到硬驱除阈值时,节点会立即采取操作来重新声明关联的资源。例如,节点可以在不安全终止的情况下立即终止一个或多个 pod。
要配置硬驱除阈值,请在 eviction-hard
下为节点配置文件添加驱除阈值,如使用 节点配置来创建策略。
带有硬驱除的节点配置文件示例
kubeletArguments: eviction-hard: - memory.available<500Mi - nodefs.available<500Mi - nodefs.inodesFree<5% - imagefs.available<100Mi - imagefs.inodesFree<10%
这个示例是常规的指南,我们不推荐的设置。
24.2.3.1.1. 默认硬驱除阈值
OpenShift Container Platform 使用以下默认配置进行 eviction-hard
。
... kubeletArguments: eviction-hard: - memory.available<100Mi - nodefs.available<10% - nodefs.inodesFree<5% - imagefs.available<15% ...