文档中心>容器镜像服务>操作指南>镜像分发>跨实例(账号)同步镜像

跨实例(账号)同步镜像

最近更新时间:2024-11-07 16:15:42

我的收藏

操作场景

腾讯云容器镜像服务(Tencent Container Registry,TCR)支持在不同地域的不同实例间同步容器镜像及 Helm Chart,可实现单点推送及全球自动同步分发,方便企业在全球多个地域快速部署更新容器业务。
实例同步功能允许用户自定义创建同步规则,可指定某个实例内的部分资源同步至另一个实例内的指定位置。例如,用户可选择同步资源类型(容器镜像、Helm Chart 或是全部同步)、可过滤同步资源路径,通过正则表达式过滤仓库及版本、可选择是否覆盖已有的同名镜像,避免历史数据覆盖丢失。目前实例同步功能已支持跨主账号间的实例同步,同步源侧的用户可以根据同步目标侧用户提供的实例 ID、账号 ID 和访问凭证来创建同步规则。

前提条件

在创建并管理 TCR 企业版实例的同步配置前,您需要完成以下准备工作:
已成功 购买企业版实例,且实例规格为标准版或高级版。
如果使用子账号进行操作,请参考 企业版授权方案示例 提前为子账号授予对应实例的操作权限。

使用限制

数据同步功能依赖于底层网络支持,受限于安全合规要求,因此,暂不支持中国台湾地域。

操作步骤

创建同步规则

1. 登录 容器镜像服务 控制台,选择左侧导航栏中的同步复制 > 实例同步
2. 实例同步页面中选择地域及实例名称,并单击新建
3. 新建实例同步规则中,参考以下提示进行规则配置。如下图所示:


名称:实例规则名称,支持小写字母、数字及(-._)三种符号,且需以字母或数字开头。
描述:规则描述,支持中文。
同步源
源实例:当前所选实例即为源实例,可返回实例同步页面修改。
命名空间:当前实例所需要同步的命名空间,暂不支持选择全部命名空间。
仓库名称:同步的仓库,不填写则默认是命名空间内全部仓库。
版本Tag:同步的版本,不填写则默认是符合条件的仓库内所有版本。
仓库类型:同步资源的类型,可同时同步容器镜像及 Helm Chart,或只同步其中一种资源。
同步目标:选择是否开启跨主账号实例同步。
关闭
开启
开关关闭,则创建同一主账号内的实例同步规则,配置以下字段。如下图所示:


目标实例:数据同步的目标实例,可选择该主账号内的任一实例。
命名空间:仓库同步至目标实例后所在的命名空间,不填写则默认是与源实例中同名的命名空间,如果没有命名空间将新建。
开关打开,则创建跨主账号的实例同步规则,根据目标账号提供的信息配置以下字段,如下图所示:

目标实例:数据同步的目标实例 ID,前往 实例管理 即可获得。
命名空间:仓库同步至目标实例后所在的命名空间,不填写则默认是与源实例中同名的命名空间,如果没有命名空间将新建。
用户名:登录同步目标实例的用户名。
注意:
用户名只能填写 用户级账号,暂时不支持 服务级账号。若输入服务级账号,则无效且会报错。
密码:登录同步目标实例的密码。
注意:
请使用长期访问凭证,避免同步规则出现不可用的情况。同步规则的生命周期与该目标账号下最新添加的同步规则的访问凭证的生命周期保持一致。
镜像覆盖:可选择是否覆盖目标实例内已有同名的容器镜像,建议不覆盖。
4. 单击确定即可创建同步规则。
说明:
多层级镜像仓库同步场景补充:
若要实现多层级镜像仓库的同步,需确保源实例目标实例中的命名空间(Namespace)保持一致
当您使用默认不填写“仓库名称”以实现多层级镜像仓库同步时,请特别注意目标实例的“命名空间”字段,该字段应留空(效果默认为 ns/**),以确保所有子仓库都能被正确同步到目标实例的相应命名空间下。
示例: 假设源实例中有一个命名空间 project,其下有多层级子仓库,如 project/subrepo1/subrepo2 。若要在目标实例中同步此子仓库,应在目标实例的“命名空间”字段中留空。

管理同步规则

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


查看同步日志:单击实例规则名称,即可查看该规则触发日志,详情请参见 查看同步日志
修改规则状态

表示规则启用,

表示规则关闭。新建的实例同步规则默认为启用状态,您可自行调整。
触发同步:手动触发同步,将扫描实例内所有符合规则的仓库并进行同步。
注意:
规则创建好之后,针对新推送的镜像,都会自动同步到其他实例,无需您手动触发。
手动触发主要针对一些历史镜像和异常情况。手动触发同步的操作会扫描实例内所有符合规则的仓库,需要一定的耗时,根据您镜像 tag 数决定。在同步的过程中,因为同步任务的执行,可能对其他镜像传输动作造成压力。请尽量避免同时手动触发多个同步规则。
配置:重新配置实例同步规则,可配置全部参数。
删除:删除该实例同步规则。

查看同步日志

单击指定实例同步规则名称,即可查看该规则的触发日志。如下图所示:


任务ID:实例内唯一的同步任务 ID。
创建时间:同步任务创建的时间。
任务耗时:完成全部同步任务消耗的时间。
成功比例:资源同步完成比例,单次同步任务可能同时同步多个仓库。
同步仓库数:当前任务需要同步的仓库数量。
同步状态:任务完成状态。如果单次同步任务所需同步的容器镜像及 Helm Chart 较多,可能同步状态会较长时间保持在 “InProgress”(同步中)状态。

相关文档

您还可以使用 ManageReplication 接口管理实例同步。详细信息请参见 管理实例同步 API 文档