15.2. 异地复制要求和限制

  • 在地理复制设置中,Red Hat Quay 要求所有区域都可以读取和写入所有其他区域对象存储。对象存储必须可由所有其他区域在地理上访问。
  • 如果一个地理复制站点的对象存储系统故障,该站点的 Red Hat Quay 部署必须关闭,以便客户端重定向到由全局负载均衡器具有完整存储系统的剩余站点。否则,客户端会遇到拉取和推送失败。
  • Red Hat Quay 没有内部了解连接的对象存储系统的健康状态或可用性。如果一个站点的对象存储系统不可用,则不会自动重定向到剩余站点或站点的其余存储系统。
  • 地域复制是异步的。站点丢失的永久丢失会导致数据丢失,这些数据已保存在站点的对象存储系统中,但失败时尚未复制到剩余的站点。
  • 因此,所有元数据和 Red Hat Quay 配置都会在所有区域间共享。

    地域复制不会复制数据库。如果出现中断的情况,则启用了异地复制的 Red Hat Quay 不会切换到另一个数据库。

  • 单个 Redis 缓存在整个 Red Hat Quay 设置间共享,需要被所有 Red Hat Quay pod 访问。
  • 所有区域应使用完全相同的配置,但存储后端除外,可以使用 QUAY_DISTRIBUTED_STORAGE_PREFERENCE 环境变量进行显式配置。
  • geo-replication 需要每个地区中的对象存储。它不适用于本地存储。
  • 每个区域必须能够访问每个区域中的每个存储引擎,这需要一个网络路径。
  • 另外,也可以使用存储代理选项。
  • 整个存储后端(如所有 blob)都会被复制。通过相反,存储库镜像可以限制为存储库或镜像。
  • 所有 Red Hat Quay 实例都必须通过负载均衡器共享相同的入口点。
  • 所有 Red Hat Quay 实例都必须具有相同的超级用户集合,因为它们在通用配置文件中定义。
  • geo-replication 需要将 Clair 配置设置为 非受管。非受管 Clair 数据库允许 Red Hat Quay Operator 在地理复制环境中工作,其中 Red Hat Quay Operator 的多个实例必须与同一数据库通信。如需更多信息,请参阅 高级 Clair 配置
  • 异地复制需要 SSL/TSL 证书和密钥。如需更多信息,请参阅使用 SSL/TSL 保护到 Red Hat Quay 的连接

如果无法满足上述要求,您应该使用两个或多个不同的 Red Hat Quay 部署,并利用存储库镜像功能。