将K8s GC的HighThresholdPercent设为0是否属于不合理配置?
磁盘使用率高于配置的
HighThresholdPercent值时会触发垃圾回收,回收按照镜像最后使用时间排序,优先删除最久未使用的镜像。kubelet会持续删除镜像直到磁盘使用率降至LowThresholdPercent阈值以下。
关于HighThresholdPercent配置的两个问题解答:
1. 将参数设为0是否会让垃圾回收持续运行?
不会。HighThresholdPercent是镜像GC的触发门槛,只有当前磁盘使用率超过该值时才会启动回收流程。如果设为0,磁盘使用率不可能超过0,相当于直接关闭了镜像垃圾回收功能,永远不会触发GC任务。
2. 参数设为80、磁盘85%空间被不可回收镜像占用时,GC是否会持续运行到使用率降到80?
不会。K8s镜像GC仅允许删除未被任何运行/暂停态Pod关联使用的镜像,正在被使用的镜像属于受保护的不可回收范围,GC不会强制删除这类镜像。
当GC清理完所有符合条件的可删除镜像后,即便磁盘使用率仍然高于80,也会直接终止回收流程,不会进入循环执行状态。此时kubelet会上报磁盘压力事件,提示集群镜像存储资源不足。
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

