当前位置: 首页 > news >正文

Kubernetes 节点资源驱逐策略详解:evictionHard 与 evictionSoft

在 Kubernetes 的生产环境中,节点资源(如内存、磁盘空间、inode)紧张时,系统可能会自动进行 Pod 驱逐以保障系统的稳定运行。Kubelet 提供了两类资源回收机制配置项:evictionHard 和 evictionSoft,它们控制了节点的资源驱逐行为。本文将对这两个配置进行详细解析,并说明它们对应的资源目录路径。

一、什么是 Eviction 策略?

Eviction 是 Kubernetes 的一种资源回收机制。当节点资源紧张时,Kubelet 会根据配置的驱逐策略主动驱逐低优先级的 Pod,从而释放资源,避免节点崩溃。

驱逐策略分为:
• Hard Eviction(硬驱逐):一旦触发,立即执行 Pod 驱逐操作。
• Soft Eviction(软驱逐):满足条件后并不会立即驱逐,而是等到一段宽限期(evictionSoftGracePeriod)后才驱逐。

二、evictionHard 配置详解

evictionHard:
imagefs.available: 10%
memory.available: 300Mi
nodefs.available: 10%
nodefs.inodesFree: 5%

当系统资源低于以下阈值时,Kubelet 会立即驱逐部分 Pod。

项目 含义 资源路径
imagefs.available: 10% 容器镜像存储盘的剩余空间不足 10% 时触发 一般为 /var/lib/containerd 或 /var/lib/docker
memory.available: 300Mi 可用内存小于 300Mi 时触发 系统整体内存
nodefs.available: 10% 根文件系统剩余空间不足 10% 时触发 通常为 / 或 /var/lib/kubelet
nodefs.inodesFree: 5% 根文件系统剩余 inode 少于 5% 时触发 inode 反映的是文件系统中可创建的文件数

三、evictionSoft 配置详解

evictionSoft:
imagefs.available: 10%
memory.available: 512Mi
nodefs.available: 15%
nodefs.inodesFree: 10%

当系统资源低于以下阈值时,Kubelet 并不会立刻驱逐 Pod,而是等待 evictionSoftGracePeriod 设定的宽限期后再做决定。

项目 含义 资源路径
imagefs.available: 10% 镜像盘可用空间小于 10% 时进入软驱逐等待 /var/lib/containerd 或 /var/lib/docker
memory.available: 512Mi 可用内存小于 512Mi 时进入软驱逐等待 系统 RAM
nodefs.available: 15% 根盘可用空间小于 15% 时触发软驱逐 /、/var、/var/lib/kubelet
nodefs.inodesFree: 10% inode 使用超过 90%,剩余不到 10% 时触发软驱逐 根文件系统 inode

四、补充说明
• imagefs vs nodefs:
• imagefs:容器运行时使用的文件系统(如 /var/lib/containerd)。
• nodefs:节点自身的根文件系统(如 / 或 /var/lib/kubelet)。
• 硬驱逐优先级高于软驱逐:硬驱逐一旦触发,Pod 会立即被移除,通常用于防止节点失控;而软驱逐则适用于提前预警式释放资源。
• 配置位置:
这些配置项一般位于 kubelet 的启动参数中(如 /var/lib/kubelet/config.yaml),或以参数形式传入 kubelet 启动命令中。

相关文章:

  • remote display server is not supported (e.g. Wayland)
  • Vue中虚拟DOM的原理与作用
  • 【RTP】Intra-Refresh模式下的 H.264 输出,RTP打包的方式和普通 H.264 流并没有本质区别
  • python批量将文件夹下的excel转word文件
  • 海思Hi3798MV310_V39_HMS DDR3_安卓9.0_外贸盒update升级包
  • 深入了解NIO的优化实现原理
  • Linux运维新人自用笔记(乌班图apt命令和dpkg命令、两系统指令区别,rpm解决路径依赖、免安装配置java环境)
  • 发送文件脚本源码版本
  • 【Go语言基础【17】】切片:一种动态数组
  • 漏洞检测方案如何选工具?开源与商业工具适用环境大不同
  • Ubuntu系统用户基本管理
  • 栈和队列的奇妙冒险:用栈实现队列
  • (每日一道算法题)验证二叉搜索树
  • Jinja2深度解析与应用指南
  • ALOHA ACT算法与源码笔记
  • 【学习笔记】0-RTT
  • 简约商务通用宣传年终总结12套PPT模版分享
  • LLMs 系列科普文(13)
  • AD学习(1)
  • Doris-2:单虚拟机上非docker化安装Doris实验环境
  • 昆山做网站找哪家好/上海网站优化
  • 餐饮网站建设方案书/seo关键词布局技巧
  • 佛山app开发公司/seo快速推广
  • 贵州省住房和城乡建设厅查询网站/广州谷歌优化
  • 深圳做官网的公司/seo公司 上海
  • 网站流量平台/如何进行网络营销策划