15.3. 使用独立 Red Hat Quay 进行异地复制

Georeplication

在上面的示例中,Quay 在两个独立区域(一个通用数据库和通用 Redis 实例)上运行。本地化的镜像存储在每个区域中提供,从最接近的可用存储引擎提供镜像拉取。容器镜像推送被写入 Quay 实例的首选存储引擎,然后在后台复制到其他存储引擎。

注意

如果 Clair 在一个集群中失败,例如 US 集群,美国用户不会看到 Quay 中针对第二个集群(EU)的漏洞报告。这是因为所有 Clair 实例都具有相同的状态。当 Clair 失败时,它通常是因为集群中的问题。

15.3.1. 启用存储复制 - 独立 Quay

使用以下步骤在 Red Hat Quay 上启用存储复制。

流程

  1. 在 Red Hat Quay 配置编辑器中,找到 Registry Storage 部分。
  2. 单击 Enable Storage Replication
  3. 添加每个要复制数据的存储引擎。必须列出要使用的所有存储引擎。
  4. 如果需要所有镜像完成复制到所有存储引擎,请在每个存储引擎配置下单击 Replicate to storage engine。这可确保所有镜像都复制到该存储引擎。

    注意

    要启用每个命名空间复制,请联系红帽 Quay 支持。

  5. 完成后,单击 Save Configuration Changes。在 Red Hat Quay 重启后,配置更改将生效。
  6. 在为异地复制 默认添加存储 并启用 Replicate 后,您必须在所有存储间同步现有镜像数据。要做到这一点,您必须在容器中 oc exec (原生、docker execkubectl exec)并输入以下命令:

    # scl enable python27 bash
    # python -m util.backfillreplication
    注意

    这是在添加新存储后同步内容的一个时间操作。