一、操作场景
注意:在支持 COS 多 AZ 的地域(目前仅支持在北京、广州、上海、中国香港、新加坡、上海金融地域创建多 AZ 存储桶,其他地域后续将陆续支持),如果创建 TCR 实例时没有勾选多 AZ COS 桶,建议 提交工单 联系 COS 团队将 COS 桶原地升级到多 AZ COS 桶。
适用此操作的场景包括:
1. COS 单 AZ 地域,单可用区(AZ)中断。
2. COS 服务地域性故障,地域级别的 COS 服务中断。
3. 网络连通性问题,无法访问原 COS 桶。
二、使用限制
·仅 TCR 企业版支持此功能(企业版支持实例复制)。
·切换后,该实例仅支持镜像拉取操作,不支持镜像推送。
三、前提条件
·已为 TCR 实例创建跨地域的复制实例,操作方式请参考 创建复制实例 。
·复制实例关联的 COS 桶已开启内网全球加速。
四、操作步骤
执行存储切换步骤如下:
1. 定位存储桶信息。
·登录 容器镜像服务控制台,进入实例管理页面。
·在实例概况中,单击后端存储桶跳转至当前实例关联的 COS 桶详情页。
·选择返回桶列表,返回 COS 存储桶列表页,使用 TCR 实例 ID 进行搜索,可以找到所有相关的 COS 桶。其中,名称包含复制实例 ID 的桶即为目标桶,复制实例桶名称通常格式为 [主实例ID]-[RegionCode]-[随机字符串]-[AppId]。TCR 主实例和复制实例 COS 桶名称信息如下所示。
2. 配置 COS 内网全球加速。
·进入目标复制桶的详情页。
·在域名与传输管理 > 全球加速中,单击编辑。查看当前状态,开启内网全球加速功能并保存。如下:
3. 调用 API 执行切换。
调用 ModifyInstanceStorageAPI 完成存储配置的最终切换,你可以前往 API Explorer 调用。
关键参数说明:
| 参数名 | 类型 | 描述 | 示例值 |
| RegistryId | 必填 | 需切换的 TCR 主实例 ID。 | tcr-axxx6tv |
| TargetRegion | 必填 | 复制实例 COS 桶所在地域。 | ap-chengdu |
| TargetStorageName | 必填 | 复制实例 COS 桶的名称。注意:TargetStorageName 参数应填写 COS 桶名称,而非其加速域名地址。 | tcr-axxx6tv-16-dykhma-125xxxx00 |
五、切换结果验证
API 调用成功后,等待约1-2分钟后端服务滚动更新。随后,使用 Docker 客户端尝试拉取该实例内已有的容器镜像,验证切换是否生效。若能成功拉取,则表明存储切换已生效。
docker pull <tcr-instance>.tencentcloudcr.com/<namespace>/<image>:<tag>
六、问题1:TCR 复制实例使用的 COS 桶是否能切换到主实例的 COS 桶?
支持。调用云 API 时,需要提供当前实例的 ID,因为复制实例没有展示在页面,实例 ID 需要通过 COS 桶名称获取。例如:复制实例的 COS 桶名称为 tcr-axxx6tv-16-dykhma-125xxxx00 时,复制实例 ID 为 tcr-axxx6tv-16-dykhma,即去掉最后一段 AppId 的部分。
七、问题2:TCR 复制实例之间是否支持 COS 桶切换,例如主实例在新加坡,创建了弗吉尼亚和硅谷的复制实例,是否能把弗吉尼亚的 TCR 复制实例使用的 COS 桶切换到硅谷复制实例的 COS 桶?
支持切换。调用云 API 时确保 RegistryId 为源复制实例的ID,并正确指定目标地域和桶名称。