首页/云/Kubernetes 速查/节点压力驱逐(kubelet eviction)
集群运维与排障54 条

节点压力驱逐(kubelet eviction)

kubelet 监控 memory.available、nodefs/imagefs 可用率等信号,超过软/硬阈值即驱逐 Pod;先 BestEffort 后 Burstable。

Kubernetes 速查云更新于 2026-10-13

节点压力驱逐是什么

kubelet 持续监测节点的 memory.available、nodefs.available、imagefs.available、pid.available 等信号,一旦触碰软阈值或硬阈值就主动驱逐 Pod 来给节点续命。硬阈值立即执行,软阈值给一段宽限期并持续观察;选择驱逐对象的顺序与 Pod 的 QoS 等级直接相关:先 BestEffort,再 Burstable,最后 Guaranteed,同等级内再按资源使用是否超过 requests 排序。

基本信息

执行者节点上的 kubelet(不是调度器,也不经 apiserver 决策)
监测信号memory.available、nodefs.available、imagefs.available、pid.available
阈值类型软阈值(带宽限期)与硬阈值(立即执行)
驱逐顺序BestEffort > Burstable(超 requests 者优先)> Guaranteed
表现Pod 状态变 Failed,原因显示 Evicted,事件里留下原文

典型使用场景

  • Pod 突然消失:状态显示 Evicted 而非 OOMKilled,说明是被 kubelet 驱逐而不是被内核杀死
  • 内存告警联动:事件里同时出现节点 MemoryPressure 与 Evicted,可确认两者因果
  • 批处理与在线服务混布:低优先级批任务应设为 BestEffort 或低优先级,避免挤掉在线服务
  • 磁盘写满应急:清理镜像与日志的同时预期会有一批被驱逐的 Pod 需要重建
  • 容量复盘:统计一段时间内的 Evicted 事件数量,评估节点是否长期超卖

取证与核对

取证与核对
kubectl get events -A --field-selector reason=Evicted --sort-by=.lastTimestamp | tail -10
kubectl describe pod evicted-x | grep -i -A3 evicted          # 事件里会写明触发的信号与阈值
kubectl get pod evicted-x -o jsonpath='{.status.reason} {.status.message}'
journalctl -u kubelet --no-pager | grep -i -E 'evict|pressure' | tail -20
kubectl describe node node1 | sed -n '/Conditions:/,/Addresses:/p'   # 核对当前压力条件

驱逐与杀死对照

现象触发者判定依据
状态 Evicted,原因 Evictedkubelet 驱逐节点资源触及阈值,按 QoS 与超用比例挑选
退出码 137,原因 OOMKilled内核 OOM killer容器超出自身 memory limit 被内核直接杀
Pod 长时间 Terminating驱逐中等待宽限期grace period 未过,或容器忽略终止信号
Pod 被重建后仍落回同一节点控制器重建节点资源未缓解,需要先修节点或调整调度约束
驱逐阈值与默认值随版本演进,且可以在 kubelet 配置中覆盖。判断线上行为时应以该节点实际生效的 kubelet 配置为准,而不是凭印象套用旧版本的默认阈值。
被驱逐的 Pod 不会自动恢复运行:由 Deployment、StatefulSet 等控制器重新创建(StatefulSet 会复用原 PVC)。如果只反复重建而没有降低节点资源水位,同一个 Pod 可能又被驱逐,形成循环。

易错点

  • 把 Evicted 当成 OOMKilled:两者根因不同,前者是节点级资源不足,后者是容器超自身 limit,处置方向完全不同
  • 只处理被驱逐的 Pod 不处理节点:控制器重建后 Pod 可能落回同一节点再次被驱逐,形成循环
  • 给关键服务设置过低的 requests 且不写 limits:在压力节点上排序靠后看似安全,实际长期处于可被牺牲的队列位置
  • 忽略软阈值宽限期:节点持续超阈时宽限期结束照样驱逐,误以为软阈值不会真的动手

数据来源与参考

  • Kubernetes 官方文档 · 节点压力驱逐
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌