Kubernetes中Pod驱逐原因DiskPressure与ephemeral-storage不足的区别是什么?
两类磁盘相关驱逐的核心区别
两者同属Kubernetes节点压力驱逐机制,但触发逻辑、判定维度完全不同:
DiskPressure状态触发的驱逐
该驱逐的判定维度是节点全局磁盘资源水位。kubelet会周期性检测节点整体磁盘(包含kubelet工作目录、容器运行时存储目录、节点系统盘等关联磁盘分区)的可用空间、inode可用率,当指标达到预先配置的驱逐阈值(默认阈值为nodefs.available<10%、imagefs.available<15%)时,会将节点标记为DiskPressure状态,同时启动驱逐流程,优先驱逐QoS等级低、磁盘占用量大的Pod。该驱逐与单个Pod的临时存储配额配置无关,只要节点全局磁盘资源不足就会触发。- ephemeral-storage超限触发的驱逐
该驱逐的判定维度是单个Pod的临时存储配额限制。kubelet会单独统计每个Pod内所有容器的临时存储总占用(包含容器可写层、emptyDir卷、容器运行日志等),如果Pod实际用量超过其声明的ephemeral-storage的request值,无论节点全局磁盘是否有剩余空间,都会直接驱逐该超限Pod。你遇到的场景是Pod未配置ephemeral-storagerequest,相当于默认request值为0,只要Pod产生了磁盘占用就会触发超限驱逐。
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

