10.5. 升级 QuayEco 系统

以前的 Operator 版本支持升级,这些 Operator 将 QuayEcosystem API 用于一组有限的配置。为确保迁移不会意外发生,需要将一个特殊的标签应用到 QuayEco 系统 供迁移。为 Operator 创建一个新的 QuayRegistry,但旧的 QuayEcosystem 将保留到手动删除,以确保您可以回滚并仍能访问 Quay,以出现问题。要将现有的 QuayEcosystem 迁移到新的 QuayRegistry 中,请按照以下步骤操作:

  1. "quay-operator/migrate": "true" 添加到 QuayEcosystemmetadata.labels

    $ oc edit quayecosystem <quayecosystemname>
    metadata:
      labels:
        quay-operator/migrate: "true"
  2. 等待 QuayEcosystem 使用相同的 metadata.name 创建 QuayRegistryQuayEcosystem 将标记为标签 "quay-operator/migration-complete": "true "。
  3. 设置了新的 QuayRegistrystatus.registryEndpoint 后,访问 Quay 并确认所有数据和设置已成功迁移。
  4. 当您确定一切正常工作时,您可以删除 QuayEcosystem 和 Kubernetes 垃圾回收会清理所有旧资源。

10.5.1. 恢复 QuayEco 系统升级

如果在从 QuayEcosystem 自动升级到 QuayRegistry 时出现问题,请按照以下步骤恢复至使用 QuayEcosystem

  1. 使用 UI 或 kubectl 来删除 QuayRegistry

    $ kubectl delete -n <namespace> quayregistry <quayecosystem-name>
  2. 如果使用 Route 提供外部访问,请使用 UI 或 kubectl 将路由更改为指向原始服务。
注意

如果您的 QuayEcosystem 管理 Postgres 数据库,升级过程会将数据迁移到由升级 Operator 管理的新 Postgres 数据库。旧数据库不会更改或删除,但 Quay 在迁移完成后将不再使用它。如果数据迁移过程中出现问题,升级过程将退出,建议您将数据库作为非受管组件继续进行。