k8s The node had condition:[DiskPressure]
前言
在查看 pod 运行状态时,发现有的 pod 的状态是 Evicted,通过 describe 去查看发现了 The node had condition: [DiskPressure]. 的报错
原因是 kubelet 检测到本地磁盘使用率超过了 85% ,这是 kubelet 的默认配置:
grep '85%' /var/log/messages
方法只有两种,要么清理磁盘或者磁盘扩容,要么就是修改 kubelet 的配置
清理 docker
docker system prune 命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及 dangling 的镜像(docker images 命令输出的 REPOSITORY 和 TAG 显示为
docker system prune -a 命令清理得更加彻底,可以将没有容器使用Docker镜像都删掉
这两个命令会将当前关闭的容器,以及当前没有用到的 Docker 镜像都删掉了
所以使用之前一定要确认清楚了
docker system prune
docker system prune -a
kubelet 节点压力驱逐
- kubelet 监控集群节点的 CPU、内存、磁盘空间和文件系统的 inode 等资源
- 当这些资源中的一个或者多个达到特定的消耗水平, kubelet 可以主动地使节点上一个或者多个 Pod 失效,以回收资源防止饥饿
- 在节点压力驱逐期间,kubelet 将所选 Pod 的 PodPhase 设置为 Failed。这将终止 Pod
- kubelet 在终止最终用户 Pod 之前会尝试回收节点级资源
- 例如,它会在磁盘资源不足时删除未使用的容器镜像

浙公网安备 33010602011771号