14.2. 异地复制要求和限制
- 在地理复制设置中,Red Hat Quay 要求所有区域都可以读/写到所有其他区域的对象存储。对象存储必须可由所有其他区域在地理上访问。
- 如果一个地理复制站点的对象存储系统故障,该站点的 Red Hat Quay 部署必须关闭,以便客户端重定向到由全局负载均衡器具有完整存储系统的剩余站点。否则,客户端会遇到拉取和推送失败。
- Red Hat Quay 没有内部了解连接的对象存储系统的健康状态或可用性。如果一个站点的对象存储系统不可用,则不会自动重定向到剩余站点或站点的其余存储系统。
- 地域复制是异步的。站点丢失的永久丢失会导致数据丢失,这些数据已保存在站点的对象存储系统中,但失败时尚未复制到剩余的站点。
因此,在所有地区间共享所有元数据和 Quay 配置。
地域复制不会复制数据库。如果出现中断的情况,则启用了异地复制的 Red Hat Quay 不会切换到另一个数据库。
- 单一 Redis 缓存在整个 Quay 设置间共享,需要可以被所有 Quay pod 访问。
-
所有区域应使用完全相同的配置,但存储后端除外,可以使用
QUAY_DISTRIBUTED_STORAGE_PREFERENCE
环境变量进行显式配置。 - 异地复制需要每个地区中的对象存储。它无法使用本地存储或 NFS。
- 每个区域必须能够访问每个地区中的每个存储引擎(需要网络路径)。
- 或者,可以使用存储代理选项。
- 整个存储后端(如所有 blob)都会被复制。通过相反,存储库镜像可以限制为存储库或镜像。
- 所有 Quay 实例都必须共享同一入口点,通常通过负载均衡器。
- 所有 Quay 实例都必须有一组相同的超级用户,因为它们在通用配置文件中定义。
-
geo-replication 要求将 Clair 配置
设置为非受管状态
。非受管 Clair 数据库允许 Red Hat Quay Operator 在异地复制环境中工作,其中 Operator 的多个实例必须与同一数据库通信。如需更多信息,请参阅高级 Clair 配置。 - 异地复制需要 SSL/TSL 证书和密钥。如需更多信息,请参阅使用 SSL 保护到 Red Hat Quay 的连接。
如果无法满足以上要求,您应该使用两个或更多不同的 Quay 部署,并利用存储库镜像功能。