更新时间:2026-03-24 GMT+08:00
分享

使用SWR企业版实现多地域镜像异地容灾

操作场景

在华为云多Region体系下,用户可以通过SWR注册表的镜像同步功能,实现不同局点之间的镜像异地容灾和互相备份。

约束与限制

镜像异地容灾功能仅支持注册表26.1.0版本及以上。

通过云连接实现注册表跨Region镜像同步

当您需要通过自定义同步链路在跨地域的注册表间实现镜像同步时,需确保源注册表的VPC与目标注册表的VPC网络互通,可以通过以下步骤实现:

  1. 配置跨区域网络互通。
  2. 获取打通网络需要的信息。
  3. 创建访问OBS服务的VPCEP。
  4. 配置到目标注册表的内部域名解析。
  5. 验证可跨地域下载镜像。

完成以上配置后,您即可通过源注册表往目标仓库推送或者从目标仓库拉取镜像,实现异地无缝访问。

下面以一个示例来演示如何实现同一个租户下,使用华东-上海一下的注册表通过云连接(Cloud Connect)实现跨地域同步至华南-广州局点的注册表。环境信息如下:

  • src-swr-ee-instance
    • 地域:华东-上海一
    • vpc_name: vpc-src-swr(注册表默认的vpc name)
    • vpc_id: 注册表默认的vpc_id
    • IPv4网段:10.0.0.0/8
    • ECS1地址:10.0.0.10 (ECS1用于验证上传下载镜像)
  • dst-swr-ee-instance
    • 地域:华南-广州
    • vpc_name: vpc-dst-swr(注册表内任一内网访问端点对应的vpc name)
    • vpc_id: 注册表内任一内网访问端点对应的vpc_id
    • IPv4网段:192.168.0.0/16 (需要与源注册表的vpc子网不重叠)
    • 注册表的访问IP: 192.168.0.17

操作步骤

  1. 配置跨区域网络互通。

    请参考同账号下跨区域的VPC互通,通过云连接(Cloud Connect)的方式打通华东-上海一vpc-src-swr与华南-广州的vpc-dst-swr之间的网络。

  2. 获取要访问的目标注册表的域名访问地址、OBS桶名以及IP信息。

    1. 登录容器镜像服务控制台,切换到华南-广州区域。
    2. 在新打开的“注册表”页面,单击注册表名称进入注册表详情页面。
    3. 在总览页面获取访问地址与OBS桶名。

    4. 依次单击“访问管理->访问控制->内网访问”,找到所属VPC列的值为vpc-dst-swr的记录,记录IP列的值。

    5. 提交工单根据下表的桶名称咨询OBS域名解析出的公网IP地址列表。
    表1 获取的目标注册表的信息记录

    注册表ID

    桶名称

    注册表域名(IP)

    OBS域名(IP)

    ${instance-id}

    swr-ee-${instance-id}-registry

    xxx.swr-pro.xxxx.com

    swr-ee-${instance-id}-registry.obs.${region-id}.xxxx.com

  3. 创建访问OBS服务的VPCEP。

    在“华南-广州”创建OBS网关型终端节点,使vpc-dst-swr中的云资源无需弹性公网IP就能够访问OBS,具体操作请参见创建终端节点

  4. 在华东-上海一局点对vpc-src-swr配置到目标注册表域名解析。详细添加域名指导请参考创建内网域名

    表2 创建内网域名参数说明

    参数

    示例

    参数说明

    域名

    xxx.swr-pro.xxxx.com

    创建的内网域名名称。

    支持创建顶级域,但需符合域名命名规范。

    区域

    华东-上海一

    内网域名关联的VPC所属区域。

    VPC

    vpc-src-swr

    选择内网域名需要关联的VPC。

    配置完成后进入配置的内网域名详情页面,单击“添加记录集”,添加目标注册表的IP记录值。

  5. 参考添加目标仓库,在华东-上海一的src-swr-ee-instance注册表中,将华南-广州的dst-swr-ee-instance注册表添加为目标仓库,仓库提供者选择为开源Harbor仓库。

  6. 参考创建同步规则,将华东-上海一的src-swr-ee-instance注册表中的镜像,同步至华南-广州的dst-swr-ee-instance注册表中。
  7. 登录华东-上海一下的ECS1节点,验证可成功下载华南-广州注册表中的镜像。

验证结果

参考创建同步规则指导,创建同步规则验证,具体步骤如下:

  1. 创建手动同步规则,将华东-上海一的src-swr-ee-instance注册表中的已有镜像,推送至华南-广州的dst-swr-ee-instance注册表中,在华南-广州的dst-swr-ee-instance注册表中查看镜像是否已完成同步。
  2. 创建手动同步规则,将华南-广州的dst-swr-ee-instance注册表中的已有镜像,拉取至华东-上海一的src-swr-ee-instance注册表中,在华东-上海一的src-swr-ee-instance注册表中查看镜像是否已完成同步。

  3. 创建自动同步规则,往华东-上海一的src-swr-ee-instance注册表中上传新的镜像,验证新镜像是否被自动同步至华南-广州的dst-swr-ee-instance注册表中。

通过公网实现注册表跨Region镜像同步

当您需要通过公网的方式实现注册表的跨Region同步时,可以通过以下步骤实现:

  1. 打通注册表到公网的网络。
  2. 开启公网访问,配置公网NAT绑定的EIP。
  3. 验证跨Region同步功能。

完成以上配置后,您即可通过公网完成注册表间的跨Region访问。

下面以一个示例来演示如何实现同一个租户下,从华北-北京四的注册表跨region同步至亚太-新加坡的注册表。环境信息如下:

  • src-swr-ee-instance
    • 地域:华北-北京四
    • vpc: vpc-src (创建注册表时指定的vpc)
    • subnet:subnet-src(创建注册表时指定的子网)
    • 节点IP: 注册表后端服务器的IP(提交工单咨询获取)
  • dst-swr-ee-instance
    • 地域:亚太-新加坡
    • vpc: vpc-dst(创建注册表的时指定的vpc)
    • IPv4网段:xx.xx.0.0/16
    • 注册表域名:dst-swr-ee-instance.swr-pro.xxxx.com

操作步骤

  1. 参考创建公网NAT网关,在华北-北京四创建一个公网NAT网关,VPC和子网选择为src-swr-ee-instance对应的vpc和子网。
  2. 参考添加SNAT规则,仅放通src-swr-ee-instance注册表所在节点的IP,每个节点添加一次。

  3. 参考开通公网访问,为亚太-新加坡的dst-swr-ee-instance注册表开通公网访问,并将步骤2中SNAT规则绑定的弹性公网IP添加至IP白名单中。
  4. 参考添加目标仓库,在华北-北京四的src-swr-ee-instance注册表中,将亚太-新加坡的dst-swr-ee-instance注册表添加为目标仓库,仓库提供者选择为开源Harbor仓库。

  5. 参考创建同步规则,将华北-北京四的src-swr-ee-instance注册表中的镜像,同步至亚太-新加坡的src-swr-ee-instance注册表中。
  6. 登录华北-北京四下的ECS1节点,验证可成功下载亚太-新加坡注册表中的镜像。

验证结果

参考创建同步规则指导,创建同步规则验证,具体步骤如下:

  1. 创建手动同步规则,将华北-北京四的src-swr-ee-instance注册表中的已有镜像,推送至亚太-新加坡的dst-swr-ee-instance注册表中,在亚太-新加坡的dst-swr-ee-instance注册表中查看镜像是否已完成同步。
  2. 创建手动同步规则,将亚太-新加坡的dst-swr-ee-instance注册表中的已有镜像,拉取至华北-北京四的src-swr-ee-instance注册表中,在华北-北京四的src-swr-ee-instance注册表中查看镜像是否已完成同步。

  3. 创建自动同步规则,往华北-北京四的src-swr-ee-instance注册表中上传新的镜像,验证新镜像是否被自动同步至亚太-新加坡的注册表中。

相关文档