第 4 章 升级独立 Red Hat Quay 的地理复制部署


使用以下步骤升级您的 geo-replication Red Hat Quay 部署。

重要
  • 当将 geo-replication Red Hat Quay 部署升级到下一个 y-stream 版本(例如,Red Hat Quay 3.7 Red Hat Quay 3.8)或 geo-replication 部署时,您必须在升级前停止操作。
  • 故障时间从一个 y-stream 版本升级到下一个版本会间歇性。
  • 在升级前,强烈建议您备份 Red Hat Quay 部署。

先决条件

  • 已登录到 registry.redhat.io
流程

此流程假设您在三个(或更多)系统上运行 Red Hat Quay 服务。如需更多信息,请参阅准备 Red Hat Quay 高可用性

  1. 获取运行 Red Hat Quay 实例的每个系统上所有 Red Hat Quay 实例的列表。

    1. 在 System A 中输入以下命令来显示 Red Hat Quay 实例:

      $ sudo podman ps

      输出示例

      CONTAINER ID  IMAGE                                      COMMAND         CREATED        STATUS            PORTS                                        NAMES
      ec16ece208c0  registry.redhat.io/quay/quay-rhel8:v{producty-n1}  registry        6 minutes ago  Up 6 minutes ago  0.0.0.0:80->8080/tcp, 0.0.0.0:443->8443/tcp  quay01

    2. 在 System B 中输入以下命令来显示 Red Hat Quay 实例:

      $ sudo podman ps

      输出示例

      CONTAINER ID  IMAGE                                      COMMAND         CREATED        STATUS            PORTS                                        NAMES
      7ae0c9a8b37d  registry.redhat.io/quay/quay-rhel8:v{producty-n1}  registry        5 minutes ago   Up 2 seconds ago   0.0.0.0:82->8080/tcp, 0.0.0.0:445->8443/tcp  quay02

    3. 在 System C 中输入以下命令来显示 Red Hat Quay 实例:

      $ sudo podman ps

      输出示例

      CONTAINER ID  IMAGE                                      COMMAND         CREATED        STATUS            PORTS                                        NAMES
      e75c4aebfee9  registry.redhat.io/quay/quay-rhel8:v{producty-n1}  registry        4 seconds ago   Up 4 seconds ago   0.0.0.0:84->8080/tcp, 0.0.0.0:447->8443/tcp  quay03

  2. 在每个系统中临时关闭所有 Red Hat Quay 实例。

    1. 在 System A 中输入以下命令来关闭 Red Hat Quay 实例:

      $ sudo podman stop ec16ece208c0
    2. 在 System B 中输入以下命令来关闭 Red Hat Quay 实例:

      $ sudo podman stop 7ae0c9a8b37d
    3. 在 System C 中输入以下命令来关闭 Red Hat Quay 实例:

      $ sudo podman stop e75c4aebfee9
  3. 在每个系统上获取最新的 Red Hat Quay 版本,如 Red Hat Quay 3。

    1. 在 System A 中输入以下命令来获取最新的 Red Hat Quay 版本:

      $ sudo podman pull registry.redhat.io/quay/quay-rhel8:{productminv}
    2. 在 System B 中输入以下命令来获取最新的 Red Hat Quay 版本:

      $ sudo podman pull registry.redhat.io/quay/quay-rhel8:v{producty}
    3. 在 System C 中输入以下命令来获取最新的 Red Hat Quay 版本:

      $ sudo podman pull registry.redhat.io/quay/quay-rhel8:{productminv}
  4. 在高可用性 Red Hat Quay 部署的系统 A 中,运行新镜像版本,例如 Red Hat Quay 3:

    # sudo podman run --restart=always -p 443:8443 -p 80:8080 \
       --sysctl net.core.somaxconn=4096 \
       --name=quay01 \
       -v /mnt/quay/config:/conf/stack:Z \
       -v /mnt/quay/storage:/datastorage:Z \
       -d registry.redhat.io/quay/quay-rhel8:{productminv}
  5. 等待新的 Red Hat Quay 容器在 System A 上完全正常工作。您可以输入以下命令检查容器的状态:

    $ sudo podman ps

    输出示例

    CONTAINER ID  IMAGE                                      COMMAND         CREATED        STATUS            PORTS                                        NAMES
    70b9f38c3fb4  registry.redhat.io/quay/quay-rhel8:v{producty} registry        2 seconds ago   Up 2 seconds ago   0.0.0.0:82->8080/tcp, 0.0.0.0:445->8443/tcp  quay01

  6. 可选:通过进入到 Red Hat Quay UI 来确保 Red Hat Quay 已完全操作。
  7. 确保 System A 上的 Red Hat Quay 完全正常工作后,在 System B 和 System C 上运行新镜像版本。

    1. 在高可用性 Red Hat Quay 部署的 System B 中,运行新镜像版本,例如 Red Hat Quay 3:

      # sudo podman run --restart=always -p 443:8443 -p 80:8080 \
         --sysctl net.core.somaxconn=4096 \
         --name=quay02 \
         -v /mnt/quay/config:/conf/stack:Z \
         -v /mnt/quay/storage:/datastorage:Z \
         -d registry.redhat.io/quay/quay-rhel8:{productminv}
    2. 在高可用性 Red Hat Quay 部署的系统 C 中,运行新镜像版本,例如 Red Hat Quay 3:

      # sudo podman run --restart=always -p 443:8443 -p 80:8080 \
         --sysctl net.core.somaxconn=4096 \
         --name=quay03 \
         -v /mnt/quay/config:/conf/stack:Z \
         -v /mnt/quay/storage:/datastorage:Z \
         -d registry.redhat.io/quay/quay-rhel8:{productminv}
  8. 您可以输入以下命令来检查 System B 和 System C 中的容器状态:

    $ sudo podman ps
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.