有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
文档中心 > 容器镜像服务 > 最佳实践 > 全球多地域间同步镜像实现就近访问

场景介绍

当企业将容器业务拓展至多个地域时,希望能够就近拉取容器镜像,以提高拉取速度,降低跨地域公网流量成本;或需要在多个地域内实现热备份,以及在同个地域内多个镜像仓库服务间传递镜像,如跨团队共享,从开发仓库流转至生产仓库等。上述场景下,常规最佳实践是在一个或多个地域内同时创建并维护多个容器镜像仓库服务(Docker Registry),并编写脚本调用 Docker Push/Pull 实现跨仓库复制镜像。容器镜像服务 TCR 企业版同时提供容器镜像跨实例按需同步和单实例多地复制的能力,用户可灵活选择或结合使用两项能力,满足上述场景的需求。其中,两项能力具有如下优势:

实例同步

在多个实例间(可在同一地域或多个地域)间自动按需同步指定镜像。
按需同步,基于自定义规则实现对目标实例,需要同步镜像的精确匹配选择。
自动同步,需要同步的镜像推送至源实例后,自动触发同步至目标实例。
跨主账号同步,可在同一集团内多个主账号下的实例间同步公共镜像。
Helm Chart 及容器镜像筛选,可选仅同步一种类型的云原生制品。
可查询同步日志,并可与触发器配合使用,实现同步成功事件周知。

实例复制

为单个实例在多个地域内配置副本(子实例)并提供就近访问能力。
单一实例,多个地域内访问时,可使用同一个镜像仓库/版本名称,保持容器配置统一。
就近访问,在多地域部署场景中,就近拉取同地域内镜像数据,提高部署的效率及稳定性。
降低成本,就近内网拉取镜像可避免跨地域访问镜像仓库带来的公网流量费用或专线费用。
简化管理,无需管理多个实例,并配置实例间的同步规则,无需关心指定镜像的同步状态。
高速同步,镜像 Layer 数据实时跨地域流式复制,可实现单地镜像推送,即可多地域拉取。

使用案例

场景1:出海业务实现全球多地域就近访问

一家游戏开发商希望在全球多个地域内同时部署容器化游戏业务,需要实现容器镜像的全球多地域同步及就近访问。同时出于数据合规限制,需要对中国及境外数据进行独立管理,控制数据传输。该客户采用如下方案,实现了全球多地域的数据同步及就近访问,并保持了统一配置,显著提高了业务发布效率和稳定性。



在此方案中,客户在北京及法兰克福同时创建两个独立实例,并配置实例同步规则,按需同步面向生产发布的镜像。同时在北京,法兰克福实例内,均配置多个复制实例,如北京实例内包含上海,成都,广州三个子实例。当需要发布最新游戏版本时,北京研发团队推送国内及境外最新版本的容器镜像,其中境外版本自动同步至法兰克福,而后实时复制至硅谷,弗吉尼亚,孟买,新加坡等地。新加坡容器集群更新最新镜像时,通过内网就近访问新加坡的复制实例,实现生产容器的快速稳定更新。

场景2:大型集团内多个子公司及业务间流转镜像

一家大型企业内有多家子公司/BG,且某个子公司内具有多个业务方向,并配置独立的 IT 团队。为独立管理云上资源的权限及成本,多个子公司及业务间使用不同的腾讯云主账号。该客户采用了以下方案,实现了全集团内基础镜像的共享及多个业务间的镜像共享。



在此方案中,多个子公司账号下实例间配置了跨主账号实例同步,实现了公共镜像的共享;在单个子公司内,由基础平台的管理员统一配置各个业务实例间的基础镜像同步;在部分业务内,拟采用多个实例独立管理业务开发,测试及生产阶段的镜像,并基于镜像版本(tag)实现业务镜像在各个生产阶段的自动流转。
注意
以上两个场景均是较为复杂的使用场景,常规业务可仅选取案例中部分方案满足自身需求,如跨地域热备份,国内多地域就近访问,同地域内多实例间业务镜像流转等。 同时,企业版实例支持使用自定义域名,结合 DNS 服务,可实现多个实例共用同一个域名,进而实现镜像发布配置统一及多地域就近内网访问,在实例管理上更加灵活。

操作指南

前提条件

已成功 购买企业版实例,实例同步功能需要实例规格为标准版或高级版,实例复制功能需要实例规格为高级版。
如果使用子账号进行操作,请参见 企业版授权方案示例 提前为子账号授予对应实例的操作权限。

配置实例同步

具体操作指南请参见 同步复制-配置实例同步。 其中,实例同步支持跨主账号同步,可在创建同步规则时进行配置。

配置实例复制

具体操作指南请参见 同步复制-配置实例复制。 其中,实例复制不支持复制到主实例地域实现备份,如有同地域备份需求需要使用实例同步。

配置自定义域名

具体操作指南请参见 配置自定义域名。 其中,自定义域名解析需要独立配置,国内站可使用 PrivateDNS 产品,国际站该产品暂不支持,建议使用自建 DNS 服务。

排障指南

1. 实例同步失败,该如何处理?

可前往产品控制台,查看相关规则及同步日志,并手动触发同步;如果同步过慢或仍同步失败,请通过 在线咨询 联系我们。

2. 实例复制失败,该如何处理?

当前实例复制暂不支持查看具体仓库的同步日志,请耐心等待实例复制过程,待状态更新为“同步成功”后再尝试访问镜像。如实例复制状态始终无法更新为同步成功,或同步成功后仍无法领取镜像,请通过 在线咨询 联系我们。

3. 如何确定指定镜像已被复制到某个子实例内?

当前实例复制支持查看历史同步任务,可通过任务详细日志判断指定镜像仓库或镜像的同步状态。

4. 如何提高跨地域实例同步的速度?

当前暂不支持单独提高指定账号或实例的跨地域同步速度,该速度受限于跨地域云联网的带宽,且在多租户间共享,如需特殊保障,请通过 在线咨询 联系我们。