3.10.5. 运行后台升级
要进行后台升级,您需要在两个 occasions 短时间内关闭集群。当第一次停机后,quay v3 容器会在 v2 兼容性模式下运行时,它会回填数据库。此后台进程可能需要几小时甚至数天才能完成。对于大型安装,建议进行后台升级,因为停机会超过几个小时。
对于这种类型的升级,您可以将 Red Hat Quay 置于兼容性模式,其中运行 Quay
3 容器,但在升级完成时在旧数据模型上运行。以下是您做什么:
将 Red Hat Quay 3 容器拉取到所有节点。使用以下容器或更高版本:
quay.io/redhat/quay:v3.0.5
- 关闭整个 Red Hat Quay 集群,包括任何 quay-builder 和 Clair 容器。
编辑每个节点上的
config.yaml
文件,并将升级模式设置为后台,如下所示:V3_UPGRADE_MODE: background
在单一节点上使 Red Hat Quay 3 容器启动,并等待迁移完成(最多几分钟)。下面是一个该命令的示例:
请注意,
Quay
容器位于 Red Hat Quay 3 的端口 8080 和 8443,而不是 80 和 443,因为它们用于 Red Hat Quay 2。因此,我们建议将 8080 和 8443 重新映射到 80 和 443,如下例所示:# docker run --restart=always -p 80:8080 -p 443:8443 \ --sysctl net.core.somaxconn=4096 \ --privileged=true \ -v /mnt/quay/config:/conf/stack:Z \ -v /mnt/quay/storage:/datastorage:Z \ -d quay.io/redhat/quay:v3.0.5
- 在所有其他节点上启动 Red Hat Quay 3 容器。
-
监控
/upgradeprog
res API 端点,直到报告足够完成以移动到下一步(状态会到达 99%)。例如,查看https://myquay.example.com/upgradeprogress
或使用一些其他工具查询 API。 - 当后台进程足够时,您必须调度另一个维护窗口。
- 在计划的维护期间,关闭整个 Red Hat Quay 集群。
编辑每个节点上的
config.yaml
文件,并将升级模式设置为完整
,如下所示:V3_UPGRADE_MODE: complete
- 启动 Red Hat Quay 在一个节点上进行最终检查。
- 完成最后的检查后,将 Red Hat Quay v3 放回所有其他节点上。
- 启动 quay-builder 和 Clair 的 3.0.z 版本,以替换您要返回到集群的那些容器的任何实例。
- 验证 Quay 是否正常工作,包括推送和拉取与 Docker 版本 2 兼容的容器,即架构 2。这包括不同计算机架构的 Windows 容器镜像和镜像(arm、ppc 等)。