8.2. 使用 Operator 恢复 3scale
下面的部分提供了恢复 3scale 安装所需的信息和步骤,该安装之前由 APIManager 自定义资源部署并由 APIManagerBackup 进行
备份。
8.2.1. 恢复兼容场景
要查看可以恢复的 3scale 安装配置,请查看以下部分:
先决条件
恢复 3scale 外部数据库:
-
backend-redis
-
system-redis
-
system-database
- MySQL 或 PostgreSQL
-
8.2.2. 恢复场景范围
3scale 操作器的恢复功能可以使用 APIManagerBackup
自定义资源生成的备份。
有关您可以备份的 3scale 解决方案场景列表,请参阅 备份数据 以供参考。
以下不在 Operator 的恢复功能范围内:
-
恢复没有使用
APIManagerBackup
自定义资源执行的备份数据。 -
从不同的 3scale 版本恢复通过
APIManagerBackup
提供的备份数据。
8.2.3. 恢复数据
下表显示了已恢复的数据的列表:
对象 | 对象类型数据 |
---|---|
Secrets |
|
ConfigMaps |
|
APIManager | APIManager 自定义资源 Kubernetes 对象定义 - json 模式定义 |
System FileStorage | 当系统文件存储的位置位于 PersistentVolumeClaim(PVC)中时 |
Routes | 3scale 相关的 OpenShift 路由,如 master 和租户 |
8.2.4. 恢复 3scale
要恢复之前通过 APIManager Backup 自定义资源备份的 APIManager
的 3scale 安装,请按照以下步骤执行:
- 确保您要执行恢复的项目不包含 APIManager 自定义资源及其对应的 3scale 安装。
恢复以下 Kubernetes secret:
-
backend-redis
-
system-redis
-
system-database
-
创建
APIManagerRestore
自定义资源,并指定之前由APIManagerBackup
自定义资源备份的安装的备份数据。详情请参阅 备份场景范围。
以下是
APIManagerRestore
自定义资源的示例:apiVersion: apps.3scale.net/v1alpha1 kind: APIManagerRestore metadata: name: example-apimanagerrestore-pvc spec: restoreSource: persistentVolumeClaim: claimSource: claimName: example-apimanagerbackup-pvc # Name of the PVC produced as the backup result of an `APIManagerBackup` readOnly: true
等待
APIManagerRestore
完成。通过获取APIManagerRestore
的内容并等待.status.completed
字段设置为 true 进行检查。您应该会看到创建了一个新的 APIManager 自定义资源并部署 3scale 安装。