更新时间:2026-05-07 GMT+08:00
分享

制品清理

操作场景

容器镜像服务企业版提供制品清理功能,帮助您自动清理不再使用的镜像版本,从而有效释放对象存储服务(OBS)中的存储空间,降低存储成本。本文将介绍如何使用制品清理功能来释放OBS的存储空间。

  • 制品清理为不可逆操作,请在执行制品清理前,确认核心镜像能够成功重新生成和推送。
  • 在制品清理过程中及结束后,请勿对注册表对应的OBS桶进行任何操作。

约束与限制

  • 制品清理支持的注册表版本为26.2.0版本以上。
  • 制品清理当前白名单开放,如果想使用制品清理功能,请提交工单,为您添加白名单。

配置制品清理定时任务

  1. 登录容器镜像服务企业版控制台,在页面左上角切换Region到您所在的Region,单击注册表名称进入注册表详情页面。
  2. 在左侧导航栏选择“运维中心 > 制品清理”
  3. 单击右上角“配置定时清理任务”。
  4. 填写定时任务内容。详情请参见表1

    表1 定时任务参数说明

    参数

    示例

    参数说明

    Cron 表达式

    0 0 * * * *(每小时执行一次)

    定时任务规则。Cron表达式格式,包含6个字段(秒、分钟、小时、日期、月份、星期),具体详见表2

    并行度

    1

    系统同时执行多个任务的能力,可填写1-5。

    允许回收无 tag 的 artifacts

    配置开关来决定是否允许对没有标签的制品进行回收操作。

    表2 Cron 表达式

    字段名称

    是否强制

    允许的值

    允许的特殊字符

    0-59

    */,-

    分钟

    0-59

    */,-

    小时

    0-23

    */,-

    一个月的一天

    1-31

    */,-?

    1-12 or JAN-DEC

    */,-

    一周的一天

    0-6 or SUN-SAT

    */,-?

  5. 单击“确定”,完成定时任务创建。

配置制品清理手动任务

  1. 登录容器镜像服务企业版控制台,在页面左上角切换Region到您所在的Region,单击注册表名称进入注册表详情页面。
  2. 在左侧导航栏选择“运维中心 > 制品清理”
  3. 单击右上角“立即清理制品”。
  4. 填写立即清理制品任务,详情请参见表3

    表3 立即清理制品参数说明

    参数

    示例

    参数说明

    允许回收无 tag 的 artifacts

    配置开关来决定是否允许对没有标签的制品进行回收操作。

    并行度

    1

    系统同时执行多个任务的能力,可填写1-5。

    模拟运行

    启用模拟运行和关闭模拟运行是指在制品清理任务中,是否实际执行清理操作的两种不同模式。

    • 模拟清理:在不实际删除任何数据的情况下,计算并展示理论上可被清理的制品层及预估的存储空间释放量。
    • 立即清理:基于实时系统状态计算要删除的制品层,并在执行过程中锁定相关制品索引,以确保计算与删除的一致性。删除操作完成后,存储空间将被释放。
      注意:
      • 在模拟运行与立即清理之间的时间窗口内,如果有新的制品推送或制品删除操作,可能会导致制品层引用关系发生变化,从而使两次计算删除的制品层及释放的存储空间不一致。建议在高频变更环境中,以立即清理模式下的实际输出为准。
      • 开启允许回收无 tag 的 artifacts的参数后,在模拟运行与立即清理模式下,计算出的删除制品层与释放的存储空间可能不一致,请以立即清理模式下的实际输出为准。

  5. 单击“确定”,完成立即清理任务创建。

查看制品清理任务

  1. 登录容器镜像服务企业版控制台,在页面左上角切换Region到您所在的Region,单击注册表名称进入注册表详情页面。
  2. 在左侧导航栏选择“运维中心 > 制品清理”
  3. 查看任务列表,可以看到任务执行的内容与状态,详情请见表4

    表4 制品清理任务列表参数说明

    参数

    示例

    参数说明

    任务ID

    1

    每个任务的唯一标识。

    触发类型

    手动

    任务的触发方式,例如手动或定时。

    模拟运行

    是否为模拟任务。

    状态

    成功

    任务的当前状态,例如“成功”、“失败”、“进行中”等。

    结果详情

    0 个 blob(s) 和 0 个 manifest(s) 已删除,0 bytes 的空间已清理

    清理的镜像版本数量及释放的存储空间。

    注意:

    结果展示中的释放空间为制品层大小的统计值,实际释放的OBS存储空间以OBS侧的统计为准。

    创建时间

    2026/03/05 15:40:22

    任务被触发的时间。

    更新时间

    2026/03/05 15:40:52

    任务执行更新的时间。

常见问题

  • 「制品清理」菜单不可见的常见问题及其根因如下表所示:
    表5 根因分析

    根因

    说明

    解决方法

    注册表版本不符

    仅注册表版本 > 26.2.0 支持制品清理功能。

    如需使用,请提交工单申请升级。

    未开通白名单

    该功能需单独申请白名单权限。

    如需开通,请提交工单申请开通白名单。

  • 制品清理过程中同时上传镜像,出现上传失败现象,报错信息为“blob upload unknown”的问题及其根因如下表所示:
    表6 根因分析

    根因

    说明

    解决方法

    同一制品层(blob)读写冲突

    同一制品层(blob)正处于清理队列中,同时被上传请求命中,触发存储层状态不一致保护机制,导致上传失败。

    重试上传(建议间隔 2-5 秒)。

  • 停止并重新执行制品清理任务后,制品清理任务结果为“0 个 blob(s) 和 0 个 manifest(s) 已删除,0 bytes 的空间已清理”的问题及其根因如下表所示:
    表7 根因分析

    根因

    说明

    解决方法

    无制品可清理

    当前注册表中暂无可清理的制品层(blob)。

    请在2小时后重新执行制品清理任务。

    制品层(blob)在时间窗口保护期内

    上一次清理任务异常中断,导致部分制品层更新时间落入2小时保护窗口内,系统暂时跳过这些制品以确保数据安全。

    请在2小时后重新执行制品清理任务。

  • 制品清理任务完成,任务结果为“0 个 blob(s) 和 0 个 manifest(s) 已删除,0 bytes 的空间已清理”, 与OBS侧实际观测的释放存储大小不一致的问题及其根因如下表所示:
    表8 根因分析

    根因

    说明

    解决方法

    制品清理任务异常重试,会重新计算释放存储空间,造成与OBS实际释放空间不一致。

    制品清理任务有异常重试机制,异常前的清理操作实际已删除部分 blob,OBS 侧删除已生效;清理任务因异常触发自动重试机制,但重试时大量 blob 落入 2小时保护窗口,导致任务结果中0空间释放。

    实际释放的OBS存储空间以OBS侧的统计为准。如需继续清理剩余制品,请在2小时后重试清理任务。

相关文档