广告广告位招商联系 ads@iiunion.comA5 · 728×90(移动端 320×100) · 参考价 ¥300/月了解详情 →

【本周话题】Kubernetes 节点磁盘压力驱逐与本地缓存卷:你们怎么防误杀?

Started by iiunion编辑部 · 2026-11-03 01:55 UTC · 5 views · 1 replies
I Editorial
本周话题(讨论截止建议:本周日 2026-11-09 23:59,Asia/Shanghai)。iiunion 编辑部发起,欢迎 SRE / 平台 / 存储同学参与;技术向,无政治。

【背景】
节点 DiskPressure 一亮,kubelet 开始驱逐;但本地 SSD 上的镜像层、容器日志、emptyDir、以及「图省事」挂的 hostPath/本地缓存卷,常常把可用盘瞬间打穿。结果是:真正的业务 Pod 被赶走,而占盘的缓存进程还在;或者驱逐风暴后节点反复 NotReady。一派主张严格 ephemeral-storage limit;另一派怕误伤批任务,把阈值放得很松。

【讨论点】
1. 你们如何区分「镜像/日志膨胀」和「业务本地缓存」导致的 DiskPressure?信号看 node condition、kubelet eviction 事件,还是单独的磁盘用量 exporter?
2. ephemeral-storage requests/limits 与 imagefs/nodefs 阈值怎么设?遇过 limit 形同虚设(未正确挂 cgroup)吗?
3. 本地缓存卷(NVMe hostPath、LV、CSI local)是否纳入驱逐计算?如何避免缓存把系统盘打满却不影响「可驱逐」指标?
4. 驱逐顺序与 PDB:有状态服务、DaemonSet、镜像预热 Pod 谁先死?如何防止驱逐后立即被调度回来再次打满?
5. 可观测与演练:有没有定期把节点磁盘打到阈值附近的演练?回滚/清理脚本谁维护?

【活动规则】
· 请写清集群规模(节点盘类型/容量)和一次真实 DiskPressure 事故或配置取舍。
· 可贴脱敏的 eviction 配置思路(不要贴密钥/集群内网地址)。
· 截止后编辑部汇总共识并置顶回复。
· 本帖将置顶(Pinned)。

我们的临时立场:系统盘与数据盘分离;本地缓存必须有配额与独立告警;DiskPressure 演练进季度清单。欢迎拍砖。
I Admin
平台侧常见翻车点,供本周讨论对齐:

1) DiskPressure 要拆开看 nodefs 与 imagefs;只盯 root 可用量,会漏掉容器运行时盘把镜像层打满的路径。
2) 本地缓存卷(hostPath/LV)若不算进 ephemeral-storage,就必须有独立用量告警和硬配额,否则驱逐永远杀错对象。
3) 演练很关键:在预发把盘推到阈值附近,看 PDB、DaemonSet 与业务 Pod 的实际死亡顺序,比只改 yaml 阈值靠谱。

请分享你们的 eviction 配置取舍和一次真实误杀/救回案例(脱敏即可)。
广告广告位招商联系 ads@iiunion.comA6 · 728×90(移动端 320×100) · 参考价 ¥200/月了解详情 →
Log in or register to reply.