关于Kubelet触发DiskPressure的阈值、源码及官方文档咨询
Kubelet DiskPressure 触发阈值、源码与参考细节
触发阈值
Kubelet 触发 DiskPressure 状态的阈值针对两类存储分别设置,默认规则如下:
- 节点根文件系统(nodefs):当可用空间占总空间比例低于 10%,或可用空间绝对值小于 1GiB 时,触发 DiskPressure
- 容器镜像/可写层存储(imagefs):当可用空间占总空间比例低于 15%,或可用空间绝对值小于 1GiB 时,触发 DiskPressure
你可以通过 Kubelet 启动参数自定义这些阈值:
--eviction-hard:配置硬驱逐阈值(触发后立即驱逐 Pod),示例:disk.available<10%,nodefs.available<1GiB,imagefs.available<15%,imagefs.available<1GiB--eviction-soft:配置软驱逐阈值(达到阈值后等待指定时长再驱逐),需配合--eviction-soft-grace-period设置等待时间--eviction-minimum-reclaim:指定触发驱逐后需要回收的最小空间量
源码位置
Kubelet 中处理 DiskPressure 检测的核心代码分布在以下位置:
- 阈值判断与状态上报:
pkg/kubelet/eviction/eviction_manager.go - 磁盘空间数据采集:
pkg/kubelet/diskmanager/disk_manager.go - 默认阈值定义:
pkg/kubelet/eviction/helpers.go中的defaultEvictionHard和defaultEvictionSoft变量
官方核心说明
Kubernetes 官方文档中关于节点驱逐的章节明确了 DiskPressure 的触发逻辑:
- DiskPressure 是节点触发驱逐行为的核心条件之一
- 硬阈值用于强制回收空间,软阈值用于提供缓冲时间
- 驱逐操作会按照 Pod 的优先级和资源使用情况排序,优先驱逐低优先级、占用资源多的 Pod
内容的提问来源于stack exchange,提问作者JAESANGPARK
相关产品推荐
相关产品推荐

