16.2.5. 从 OpenShift Container Platform 部署的 Red Hat Quay 中删除 geo-replicated 站点
要从 OpenShift Container Platform 部署的 Red Hat Quay 中删除地理复制站点,您必须同步站点之间的所有 Blob,删除存储配置条目,并使用 removelocation 实用程序永久删除站点。此操作无法撤消,因此在继续操作前,请确保同步所有数据。
先决条件
- 已登陆到 OpenShift Container Platform。
-
您已配置了 Red Hat Quay 异地复制,至少有两个站点,例如
usstorage和eustorage。 - 每个站点都有自己的组织、存储库和镜像标签。
流程
运行以下命令,同步所有定义的站点之间的 Blob:
$ python -m util.backfillreplication警告在从 Red Hat Quay
config.yaml文件中删除存储引擎 前,您必须确保在 所有定义的站点间同步所有 Blob。在运行此命令时,会创建复制作业,由复制工作程序提取。如果有需要复制的 Blob,该脚本会返回将复制的 Blob 的 UUID。如果您多次运行此命令,并且返回脚本的输出为空,并不意味着完成复制过程;这意味着没有更多 Blob 进行复制。客户应在继续前使用适当的 judgement,因为分配的时间复制取决于检测到的 Blob 数量。
或者,您可以使用第三方云工具(如 Microsoft Azure)来检查同步状态。
在继续之前,必须完成此步骤。
-
在 Red Hat Quay
config.yaml文件中,删除eu站点的storageDISTRIBUTED_STORAGE_CONFIG条目。 输入以下命令识别 Red Hat Quay 应用程序 pod:
$ oc get pod -n <quay_namespace>输出示例
quay390usstorage-quay-app-5779ddc886-2drh2 quay390eustorage-quay-app-66969cd859-n2ssm输入以下命令在
usstoragepod 中打开交互式 shell 会话:$ oc rsh quay390usstorage-quay-app-5779ddc886-2drh2输入以下命令永久删除
eustorage站点:重要以下操作无法撤消。请谨慎使用。
sh-4.4$ python -m util.removelocation eustorage输出示例
WARNING: This is a destructive operation. Are you sure you want to remove eustorage from your storage locations? [y/n] y Deleted placement 30 Deleted placement 31 Deleted placement 32 Deleted placement 33 Deleted location eustorage