You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

理解Kubernetes驱逐算法:节点内存不足时Pod选择疑问

Kubernetes节点内存压力下的Pod驱逐判断

场景描述

现有一节点内存为4GB,初始内存使用情况如下:

Pod内存请求内存限制内存使用
12.0 GiB3.0 GiB1.0 GiB
22.0 GiB3.0 GiB1.0 GiB
空闲0.0 GiB0.0 GiB2.0 GB

此时内存空闲,无Pod被驱逐。当两个Pod运行起来后,内存使用情况变为:

Pod内存请求内存限制内存使用
12.0 GiB3.0 GiB3.0 GiB
22.0 GiB3.0 GiB2.0 GiB

此时Kubernetes驱逐算法被触发,需要判断驱逐Pod1还是Pod2。

驱逐逻辑分析

Kubelet的Pod驱逐选择核心看资源超额占用的比例,优先驱逐对节点资源超额占用更严重的Pod,因为这类Pod驱逐后能释放更多超出请求的资源,快速缓解节点压力。

具体到该场景:

  • Pod1的内存请求为2GiB,实际使用3GiB,超出请求量1GiB,超额比例为50%((3-2)/2)
  • Pod2的内存请求为2GiB,实际使用刚好等于请求量,超额比例为0%

节点总内存仅4GB,当前总内存使用量达5GiB,已严重超配。此时Kubelet会优先驱逐Pod1——驱逐它能释放3GiB内存,直接将节点内存使用量降至2GiB,有效缓解内存压力。

如果多个Pod的超额占用比例相同,才会进一步参考QoS等级、Pod优先级等其他规则,但本场景中Pod1的超额占比明显更高,优先级最高。

内容的提问来源于stack exchange,提问作者meallhour

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 23:45:38