自动删除镜像版本

最近更新时间:2024-09-24 17:52:21

我的收藏

操作场景

腾讯云容器镜像服务(Tencent Container Registry,TCR)支持托管分发容器镜像,并提供镜像构建功能实现代码变更自动触发镜像构建,推送及托管。如果客户需要快速迭代业务应用,可采用自动化流水线生成镜像,将会不断生成大量镜像版本,同时旧的镜像版本不再使用。单个镜像仓库内过多镜像版本将给版本管理带来负担,而且将可能触及仓库内镜像版本数配额。因此 TCR 实现了镜像版本保留功能,此功能允许用户自定义创建版本保留规则,可定时触发该规则,并自动删除保留规则外的镜像版本。
版本保留规则支持两种保留策略,保留最新推送的#个版本和保留#天内推送的版本,并支持模拟执行。 同时,在高级配置模式下,可选对仓库、版本进行过滤,配合两种保留策略,实现更加灵活精确的版本管理。

注意事项

1. 版本保留功能将删除保留规则外的镜像版本。
2. 版本保留功能仅删除镜像版本信息,但不删除底层镜像数据,如需彻底清理镜像数据,请使用 清理 COS 存储空间功能

操作步骤

创建版本保留规则

注意:
镜像仓库可能存在一个镜像的多个版本完全相同的情况,例如同一镜像只是打了不同的 Tag,没有产生新的镜像层。这种不同 Tag 的镜像会有相同的唯一标识符 Digest。因此,不同 Tag 但相同 Digest 的镜像在物理上指向完全相同的镜像内容。当删除一个 Tag 后,镜像实体会被删除,相关的 Tag 和 Digest 也会被清理。
对于TCR 版本保留规则的影响是,如果仓库中存在多个不同 Tag 但相同 Digest 的镜像,而规则要求保留最新的两个镜像,那么当删除一个 Tag 时,仓库中的所有镜像都会被删除。因此,如果您的镜像仓库存在同一 Digest 但不同 Tag 的镜像,请谨慎使用版本保留规则,或者暂时禁用已有的规则。
1. 登录 容器镜像服务 控制台,选择左侧导航栏中版本管理下的版本保留。 在版本保留页面即可查看当前实例内的版本保留规则列表。如需切换实例,请在页面上方的“实例名称”下拉列表中进行选择。
2. 单击新建规则,在新建版本保留规则窗口中,参考以下提示进行规则配置,可选两种配置模式:
简易配置
高级配置



所属实例:当前已选择实例。
命名空间:版本保留规则生效的命名空间,单个命名空间内暂只能创建一条规则。
配置模式:简易配置
保留版本:默认不过滤,即命名空间内全部仓库及版本。
保留策略:支持配置保留最新推送的#个版本,保留#天内推送的版本两种模式,并在指定版本数或天数。
执行周期:版本保留规则的执行周期,支持手动执行,或每天、每周、每月执行。具体执行时间为:每天为每日零点,每周默认为周一零点,每月为每月第一天零点。
启用规则:默认启用。



所属实例:当前已选择实例。
命名空间:版本保留规则生效的命名空间,单个命名空间内暂只能创建一条规则。
配置模式:高级配置
保留规则:支持配置多条保留规则,保留规则间取并集,即镜像版本满足任意一条保留规则,都将被保留。
仓库过滤:支持匹配或排除部分仓库,使用正则过滤仓库名。“*”和“**”匹配任意长字符串,其中“*”不支持多级仓库名称匹配,“?”匹配除‘/’以外的任意单个字符。
版本过滤:支持匹配或排除仓库内部分版本,使用正则过滤版本名,规则同仓库过滤。
保留策略:支持配置保留最新推送的#个版本,保留#天内推送的版本两种模式,并在指定版本数或天数。
执行周期:版本保留规则的执行周期,支持手动执行,或每天、每周、每月执行。
启用规则:默认启用。
3. 单击确定即可创建版本保留规则。

管理版本保留规则

版本保留规则成功创建后即可在版本保留页面查看已创建的版本保留规则,您可执行以下操作管理版本保留规则。如下图所示:

查看规则执行日志:单击规则名称,即可查看该规则触发日志,详情请参见 查看执行日志
配置:重新配置实例版本保留规则,不可修改生效的命名空间。
删除:删除该实例版本保留规则。

查看执行日志

1. 单击指定版本保留规则名称,即可查看该规则的触发日志。如下图所示:


任务ID:实例内唯一的版本保留执行任务 ID。
创建时间:版本保留执行任务创建的时间。
任务耗时:完成全部版本保留执行任务消耗的时间。
执行方式:手动或自动,单击立即执行模拟执行为手动方式,通过规则定义的周期自动执行,则为自动方式。
执行类型:真实执行或模拟执行,模拟执行可用于确认规则是否生效,但不实际清理镜像版本。
执行状态:任务完成状态。
2. 可单击指定任务 ID 查看任务详情,并可单击具体仓库查看执行日志。

相关文档

您还可以使用 CreateTagRetentionRule 接口创建版本保留规则。详细信息请参见 创建版本保留规则 API 文档