
# 使用SWR企业版注册表实现自建Harbor实现异地容灾
如果您需要对您的Harbor进行异地容灾，那么可通过SWR企业版注册表来实现。您可使用Harbor的远程复制功能将A局点自建Harbor上的镜像制品复制到B局点的SWR企业版注册表中，当您的Harbor异常的时候可以通过拉取SWR企业版复制的镜像制品实现异地容灾。具体可通过以下步骤实现：
[1.Harbor同步镜像至SWR企业版注册表实例]
[2.配置自定义域名实现异地容灾]
#### 前提条件
- 已购买容器镜像服务企业版注册表。具体操作，请参见[购买注册表](https://support.huaweicloud.com/usermanual2-swr/swr_02_0408.html)。
- 已自行搭建Harbor。并且已打通Harbor和容器镜像服务企业版注册表之间的网络，通过内网访问的方式可参考[跨地域通过华为云内网访问SWR企业版注册表](https://support.huaweicloud.com/bestpractice2-swr/swr_bestpractice_1000.html)，通过外网访问的方式可参考[公网访问](https://support.huaweicloud.com/usermanual2-swr/swr_02_0410.html)。
- 容器镜像服务企业版注册表的自定义域名与配置的与Harbor的域名一致。如何配置自定义域名，请参见[通过自定义域名访问容器镜像服务企业版注册表](https://support.huaweicloud.com/usermanual2-swr/swr_02_0500.html)。
 
**操作步骤：**
1. **创建命名空间**
   
   1. 由于容器镜像服务企业版目前处于公测阶段，如果您的租户登录页面后看不到"企业版"链接，请提交[工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)申请入口。申请成功后，登录容器镜像服务企业版控制台。在页面左上角切换Region到您所在的Region。
   
   2. 在左侧导航栏单击"命名空间"。在右上角单击"创建命名空间"。
   
   3. 命名空间名称填入Harbor中需要同步的项目名称，并选择命名空间类型。
   
   4. 单击"确定"。
   
   
   
   
2. **在Harbor上配置目标镜像仓库**
   
   1. 新建目标并填写参数。
      ![](https://support.huaweicloud.com/bestpractice2-swr/zh-cn_image_0000002494051377.png "点击放大")
      
      表1新建目标参数解释 
      | 参数     | 说明                                                                                                                                                                                                                                                                                                                              |
      |:---|:---|
      | 提供者    | 选择Docker Registry。                                                                                                                                                                                                                                                                                                              |
      | 目标名    | 自定义填写。                                                                                                                                                                                                                                                                                                                          |
      | 描述     | 自定义填写。                                                                                                                                                                                                                                                                                                                          |
      | 目标URL  | 填写SWR企业版注册表目标仓库域名地址，格式为https://{*SWR* *镜像仓库* *地址*}。 镜像仓库地址获取方法：由于容器镜像服务企业版目前处于公测阶段，如果您的租户登录页面后看不到"企业版"链接，请提交[工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)申请入口。申请成功后，登录容器镜像服务企业版控制台，在页面左上角切换Region到您所在的Region，单击注册表名称进入注册表详情页面，在"总览-基本信息"页面获取访问地址。 |
      | 访问ID   | 访问镜像仓库实例的用户名，获取方法见[获取长期访问凭证](https://support.huaweicloud.com/usermanual2-swr/swr_02_0422.html#section1)中的下载的表格中的用户名的值。                                                                                                                                                                                                          |
      | 访问密码   | 访问镜像仓库实例的密码，获取方法见[获取长期访问凭证](https://support.huaweicloud.com/usermanual2-swr/swr_02_0422.html#section1)中的下载的表格中的密码的值。                                                                                                                                                                                                            |
      | 验证远程证书 | 建议取消勾选。                                                                                                                                                                                                                                                                                                                         |
         
      
   
   
   
   
3. 配置同步规则。 
   1. 在左侧系统管理-复制管理页面新建规则。 ![](https://support.huaweicloud.com/bestpractice2-swr/zh-cn_image_0000002461092274.png "点击放大")
      
      
      
   
   2. 填写如下参数。 ![](https://support.huaweicloud.com/bestpractice2-swr/zh-cn_image_0000002496800213.png "点击放大")
      
      表2新建复制规则参数解释 
      | 参数     | 说明                                                                                         |
      |:---|:---|
      | 名称     | 自定义。                                                                                       |
      | 描述     | 自定义。                                                                                       |
      | 复制模式   | 选择Push-based。表示把镜像由本地Harbor推送到远端仓库。                                                        |
      | 源资源过滤器 | 根据填写的规则过滤Harbor上的镜像。默认为全部资源。                                                               |
      | 目标仓库   | 选择[2.1]创建的目标。                                        |
      | 目标     | 填写[1.1]创建的命名空间名称,仓库扁平化用以在复制镜像时减少仓库的层级结构，推荐选择替换1级。 |
      | 触发模式   | 自定义。建议选择事件驱动。                                                                              |
      | 带宽     | 设置执行该条同步规则时的最大网络带宽，"-1"表示无限制。                                                              |
      | 覆盖     | 如果存在具有相同名称的资源，请指定是否覆盖目标上的资源。                                                               |
         
      
   
   
   更详细的参数解释请参考[Harbor官网文档](https://goharbor.io/docs/2.11.0/administration/configuring-replication/create-replication-rules/)。
   
   
4. 创建完成后，选中后单击"复制"即可完成同步。 
   ![](https://support.huaweicloud.com/bestpractice2-swr/zh-cn_image_0000002461280152.png "点击放大")
   
   
   
 
 #### 第二步：配置自定义域名实现异地容灾
根据Harbor和容器镜像服务企业版注册表部署位置的网络关系，给出下面三种场景。
以SWR企业版注册表在广州，Harbor实例在上海为示例分下述三种场景进行说明。
表3异地容灾场景 
| 场景  | 场景描述                              | 实现异地容灾的方案                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|
| 场景一 | Harbor部署在华为云，业务通过公网访问SWR企业版注册表    | 若位于上海的Harbor发生故障导致无法推拉镜像，您可以通过修改自定义域名解析实现拉取位于广州的SWR企业版注册表。 具体操作方式如下。 1. 登录[DNS控制台](https://console.huaweicloud.com/dns/?#/dns/dashboard)。切换到上海region。  2. 在左侧导航栏选择内网域名。    3. 找到您给swr企业版注册表配置的自定义域名记录，单击关联您的VPC的那条实例记录。  4. 在解析设记录页签，单击目标记录名称的超链接。  5. 在修改记录对话框，设置参数。单击确定。 - 记录类型：选择CNAME。  - 主机记录：输入自定义域名的前缀。  - 记录值：设置为广州的SWR企业版注册表的默认域名。  - TTL时间：默认值即可。     |
| 场景二 | Harbor未部署在华为云，业务通过公网访问SWR企业版注册表   | 若自建的Harbor发生故障导致无法进行镜像的推送或拉取操作，请按照以下步骤进行处理： 1. 通过公网访问SWR企业版注册表。更多内容请参见[通过公网访问SWR企业版注册表](https://support.huaweicloud.com/usermanual2-swr/swr_02_0410.html)。  2. 需要修改域名解析，解析到SWR企业版注册表的公网IP。  3. 将SWR企业版注册表的自定义域名设置为自建Harbor使用的域名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| 场景三 | Harbor未部署在华为云，业务通过专有网络访问SWR企业版注册表 | 若自建Harbor服务出现故障导致无法进行镜像的推送或拉取操作，请按照以下步骤进行处理： 1. 首先获取SWR企业版注册表的IP地址。  2. 配置路由规则和域名解析设置。具体操作，请参见[云下数据中心IDC通过华为云内网访问SWR企业版注册表](https://support.huaweicloud.com/bestpractice2-swr/swr_bestpractice_1001.html)。  3. 将自建Harbor使用的域名解析指向SWR企业版注册表的IP地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   
