10.5. 升级 QuayEco 系统
以前的 Operator 版本支持升级,这些 Operator 将 QuayEcosystem
API 用于一组有限的配置。为确保迁移不会意外发生,需要将一个特殊的标签应用到 QuayEco 系统
供迁移。为 Operator 创建一个新的 QuayRegistry
,但旧的 QuayEcosystem
将保留到手动删除,以确保您可以回滚并仍能访问 Quay,以出现问题。要将现有的 QuayEcosystem
迁移到新的 QuayRegistry
中,请按照以下步骤操作:
将
"quay-operator/migrate": "true"
添加到QuayEcosystem
的metadata.labels
。$ oc edit quayecosystem <quayecosystemname>
metadata: labels: quay-operator/migrate: "true"
-
等待
QuayEcosystem
使用相同的metadata.name
创建QuayRegistry
。QuayEcosystem
将标记为标签"quay-operator/migration-complete": "true
"。 -
设置了新的
QuayRegistry
的status.registryEndpoint
后,访问 Quay 并确认所有数据和设置已成功迁移。 -
当您确定一切正常工作时,您可以删除
QuayEcosystem
和 Kubernetes 垃圾回收会清理所有旧资源。
10.5.1. 恢复 QuayEco 系统升级
如果在从 QuayEcosystem
自动升级到 QuayRegistry
时出现问题,请按照以下步骤恢复至使用 QuayEcosystem
:
使用 UI 或
kubectl
来删除QuayRegistry
:$ kubectl delete -n <namespace> quayregistry <quayecosystem-name>
-
如果使用
Route
kubectl
将路由更改为指向原始服务。
注意
如果您的 QuayEcosystem
管理 Postgres 数据库,升级过程会将数据迁移到由升级 Operator 管理的新 Postgres 数据库。旧数据库不会更改或删除,但 Quay 在迁移完成后将不再使用它。如果数据迁移过程中出现问题,升级过程将退出,建议您将数据库作为非受管组件继续进行。