第 5 章 在 OpenShift Container Platform 上升级 Red Hat Quay 的地理复制部署


使用以下步骤升级 OpenShift Container Platform 部署中的地理复制 Red Hat Quay。

重要
  • 当 OpenShift Container Platform 上的 geo-replicated Red Hat Quay 升级到下一个 y-stream 版本(例如,Red Hat Quay 3.7 Red Hat Quay 3.8)时,您必须在升级前停止操作。
  • 间歇性停机时间从一个 y-stream 版本升级到下一个版本。
  • 在升级前,强烈建议在 OpenShift Container Platform 部署中备份 Red Hat Quay。
流程

此流程假设您在三个或更多系统上运行 Red Hat Quay registry。在此过程中,我们将假设三个系统名为 System A、 System BSystem C系统 A 将作为部署 Red Hat Quay Operator 的主要系统。

  1. 在 System B 和 System C 中,缩减 Red Hat Quay registry。这可以通过禁用自动扩展并覆盖 Red Hat Quay、mirror worker 和 Clair 的副本计数(如果被管理)。使用以下 quayregistry.yaml 文件作为参考:

    apiVersion: quay.redhat.com/v1
    kind: QuayRegistry
    metadata:
      name: registry
      namespace: ns
    spec:
      components:
        …
        - kind: horizontalpodautoscaler
          managed: false 1
        - kind: quay
          managed: true
          overrides: 2
            replicas: 0
        - kind: clair
          managed: true
          overrides:
            replicas: 0
        - kind: mirror
          managed: true
          overrides:
            replicas: 0
        …
    1
    禁用 QuayClairMirroring worker 的自动扩展
    2
    对于访问数据库和 objectstorage 的组件,将副本数设置为 0。
    注意

    您必须保持在 System A 上运行 Red Hat Quay registry。不要更新 System A 上的 quayregistry.yaml 文件。

  2. 等待 registry-quay-appregistry-quay-mirrorregistry-clair-app pod 消失。输入以下命令检查其状态:

    oc get pods -n <quay-namespace>

    输出示例

    quay-operator.v3.7.1-6f9d859bd-p5ftc               1/1     Running     0             12m
    quayregistry-clair-postgres-7487f5bd86-xnxpr       1/1     Running     1 (12m ago)   12m
    quayregistry-quay-app-upgrade-xq2v6                0/1     Completed   0             12m
    quayregistry-quay-redis-84f888776f-hhgms           1/1     Running     0             12m

  3. 在 System A 中,启动 Red Hat Quay 升级到最新的 y-stream 版本。这是一个手动过程。有关升级安装的 Operator 的更多信息,请参阅 升级已安装的 Operator。有关 Red Hat Quay 升级路径的更多信息,请参阅升级 Red Hat Quay Operator
  4. 安装新的 Red Hat Quay registry 后,集群上的必要升级会自动完成。之后,新的 Red Hat Quay Pod 使用最新的 y-stream 版本启动。另外,新的 Quay pod 会被调度并启动。
  5. 进入 Red Hat Quay UI 确认更新是否正常工作:

    1. OpenShift 控制台中,导航到 Operators Installed Operators,然后点击 Registry Endpoint 链接。

      重要

      在 Red Hat Quay UI 可用前,不要执行以下步骤。在 System A 上,不要升级 System B 上的 Red Hat Quay registry 和 System C。

  6. 确认更新已在 System A 上正常工作,在 System B 和 System C 上启动 Red Hat Quay 升级。Operator 升级会导致升级 Red Hat Quay 安装,pod 被重启。

    注意

    因为数据库模式对于新的 y-stream 安装是正确的,所以 System B 和 System C 上的新 pod 应该快速启动。

  7. 更新后,通过删除组件的 覆盖 来恢复此流程中第 1 步中所做的更改。例如:

    apiVersion: quay.redhat.com/v1
    kind: QuayRegistry
    metadata:
      name: registry
      namespace: ns
    spec:
      components:
        …
        - kind: horizontalpodautoscaler
          managed: true 1
        - kind: quay
          managed: true
        - kind: clair
          managed: true
        - kind: mirror
          managed: true
        …
    1
    如果在升级前将 horizontalpodautoscaler 资源设置为 true,或者您希望 Red Hat Quay 在资源短缺时扩展,请将其设为 true
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.