k8s-node-disk-pressure

Kubernetes 节点 DiskPressure 的定位与清理

现象

kubectl describe node 显示 DiskPressure,Pod 被驱逐或无法调度,镜像拉取失败,kubelet 报磁盘不足。常见于容器日志、镜像层和 emptyDir 占满。

快速定位

kubectl describe node <node> | grep -A8 Conditions
kubectl get pods -A --field-selector spec.nodeName=<node>

节点:

df -h
df -i
du -x -h --max-depth=1 /var/lib/containerd 2>/dev/null | sort -h | tail
du -x -h --max-depth=1 /var/log 2>/dev/null | sort -h | tail
journalctl -u kubelet --since '30 min ago' | grep -i -E 'disk|evict|image'
crictl images

常见根因

  1. 容器日志未轮转,/var/log/pods 暴涨。
  2. 旧镜像和停止容器占用 containerd/docker 存储。
  3. emptyDir、临时文件或缓存写满节点盘。
  4. 节点盘容量小,或 inode 耗尽。
  5. kubelet 驱逐阈值配置不合理。

修复

相关命令