除掉磁盘的情况(默认imageGCHighThresholdPercent=85和imageGCLowThresholdPercent=80. ) ,还有别的其他因素会导致image被删除吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在阿里云容器服务ACK中,镜像(image)的删除主要受图像垃圾回收(Image Garbage Collection, 简称Image GC)策略的影响。您提到的imageGCHighThresholdPercent
和imageGCLowThresholdPercent
是Kubernetes集群中用于控制镜像GC触发条件的参数,分别代表镜像使用磁盘空间的高阈值和低阈值。当存储使用的百分比超过高阈值时,Image GC会被触发以释放空间,直到使用率低于低阈值。
除了磁盘空间触发的Image GC外,还有一些其他情况或因素可能导致镜像被删除:
手动删除:用户可以直接通过Kubernetes命令行工具(如kubectl delete
命令)或者阿里云ACK控制台手动删除不再需要的镜像。
Pod生命周期结束:当一个Pod被终止(例如,因为应用升级、Pod失败重启动作或者资源调度需求),与该Pod相关的临时容器镜像可能被Image GC视为可回收对象,尤其是在没有其他Pod引用这些镜像的情况下。
镜像无引用:如果某个镜像在集群中没有任何正在运行的Pod引用,且没有被标记为保留(通过特定标签或策略),那么它可能会在Image GC过程中被删除,以释放存储空间。
节点维护或缩容:在进行节点维护操作或集群缩容时,节点上的非必需镜像可能会被清理,以便于节点能够安全地进行重启或移除。
自定义Image GC策略:管理员可以配置更复杂的Image GC策略,比如基于时间的老化策略,即自动删除一定时间未被使用的镜像,这取决于集群的具体配置。
第三方清理工具或脚本:某些用户可能会部署第三方的镜像管理或垃圾回收工具,这些工具根据其配置逻辑也可能导致镜像被删除。
综上所述,虽然磁盘空间是触发Image GC的主要因素,但结合用户的操作习惯、集群维护活动以及额外配置的策略,都可能成为影响镜像存留的因素。因此,在管理集群时,了解并合理配置这些参数和策略对于确保资源的有效管理和应用的稳定运行至关重要。