场景介绍
当企业将容器业务拓展至多个地域时,希望能够就近拉取容器镜像,以提高拉取速度,降低跨地域公网流量成本;或需要在多个地域内实现热备份,以及在同个地域内多个镜像仓库服务间传递镜像,如跨团队共享,从开发仓库流转至生产仓库等。上述场景下,常规最佳实践是在一个或多个地域内同时创建并维护多个容器镜像仓库服务(Docker Registry),并编写脚本调用 Docker Push/Pull 实现跨仓库复制镜像。容器镜像服务 TCR 企业版同时提供容器镜像跨实例按需同步和单实例多地复制的能力,用户可灵活选择或结合使用两项能力,满足上述场景的需求。其中,两项能力具有如下优势:
实例同步
在多个实例间(可在同一地域或多个地域)间自动按需同步指定镜像。
- 按需同步,基于自定义规则实现对目标实例,需要同步镜像的精确匹配选择。
- 自动同步,需要同步的镜像推送至源实例后,自动触发同步至目标实例。
- 跨主账号同步,可在同一集团内多个主账号下的实例间同步公共镜像。
- Helm Chart 及容器镜像筛选,可选仅同步一种类型的云原生制品。
- 可查询同步日志,并可与触发器配合使用,实现同步成功事件周知。
实例复制
为单个实例在多个地域内配置副本(子实例)并提供就近访问能力。
- 单一实例,多个地域内访问时,可使用同一个镜像仓库/版本名称,保持容器配置统一。
- 就近访问,在多地域部署场景中,就近拉取同地域内镜像数据,提高部署的效率及稳定性。
- 降低成本,就近内网拉取镜像可避免跨地域访问镜像仓库带来的公网流量费用或专线费用。
- 简化管理,无需管理多个实例,并配置实例间的同步规则,无需关心指定镜像的同步状态。
使用案例
场景1:大型集团内多个子公司及业务间流转镜像
一家大型企业内有多家子公司/BG,且某个子公司内具有多个业务方向,并配置独立的 IT 团队。为独立管理云上资源的权限及成本,多个子公司及业务间使用不同的云平台主账号。该客户采用了以下方案,实现了全集团内基础镜像的共享及多个业务间的镜像共享。
在此方案中,多个子公司账号下实例间配置了跨主账号实例同步,实现了公共镜像的共享;在单个子公司内,由基础平台的管理员统一配置各个业务实例间的基础镜像同步;在部分业务内,拟采用多个实例独立管理业务开发,测试及生产阶段的镜像,并基于镜像版本(tag)实现业务镜像在各个生产阶段的自动流转。
注意
以上场景均是较为复杂的使用场景,常规业务可仅选取案例中部分方案满足自身需求。
同时,企业版实例支持使用自定义域名,结合 DNS 服务,可实现多个实例共用同一个域名,进而实现镜像发布配置统一及多地域就近内网访问,在实例管理上更加灵活。
操作指南
前提条件
配置实例同步
具体操作指南请参见 同步复制-配置实例同步。
其中,实例同步支持跨主账号同步,可在创建同步规则时进行配置。
配置实例复制
具体操作指南请参见 同步复制-配置实例复制。
其中,实例复制不支持复制到主实例地域实现备份,如有同地域备份需求需要使用实例同步。
排障指南
1. 实例同步失败,该如何处理?
可前往产品控制台,查看相关规则及同步日志,并手动触发同步。
2. 实例复制失败,该如何处理?
当前实例复制暂不支持查看具体仓库的同步日志,请耐心等待实例复制过程,待状态更新为“同步成功”后再尝试访问镜像。
3. 如何确定指定镜像已被复制到某个子实例内?
当前实例复制支持查看历史同步任务,可通过任务详细日志判断指定镜像仓库或镜像的同步状态。
4. 如何提高跨地域实例同步的速度?
当前暂不支持单独提高指定账号或实例的跨地域同步速度,该速度受限于跨地域云联网的带宽,且在多租户间共享。