这个节点为什么会有磁盘压力条件?

摘要:前言 在查看 pod 运行状态时,发现有的 pod 的状态是 Evicted,通过 describe 去查看发现了 The node had condition: [DiskPressure]. 的报错 原因是 kubelet 检测到本地磁
前言 在查看 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 之前会尝试回收节点级资源 例如,它会在磁盘资源不足时删除未使用的容器镜像