10.2. 使用 Operator 恢复 3scale

下面的部分提供了恢复 3scale 安装所需的信息和步骤,该安装之前由 APIManager 自定义资源部署并由 APIManagerBackup 进行备份。

10.2.1. 恢复兼容场景

要查看可以恢复的 3scale 安装配置,请查看以下部分:

先决条件

  • 恢复 3scale 外部数据库:

    • backend-redis
    • system-redis
    • system-database - MySQL 或 PostgreSQL

10.2.2. 恢复场景范围

3scale 操作器的恢复功能可以使用 APIManagerBackup 自定义资源生成的备份。

有关您可以备份的 3scale 解决方案场景列表,请参阅 备份数据 以供参考。

以下不在 Operator 的恢复功能范围内:

  • 恢复没有使用 APIManagerBackup 自定义资源执行的备份数据。
  • 从不同的 3scale 版本恢复通过 APIManagerBackup 提供的备份数据。

10.2.3. 恢复数据

下表显示了已恢复的数据的列表:

表 10.2. 恢复的数据

对象对象类型数据

Secrets

  • system-smtp
  • system-seed
  • backend-internal-api
  • system-events-hook
  • system-app
  • system-recaptcha
  • zync
  • system-master-apicast

ConfigMaps

  • system-environment
  • apicast-environment

APIManager

APIManager 自定义资源 Kubernetes 对象定义 - json 模式定义

System FileStorage

当系统文件存储的位置位于 PersistentVolumeClaim(PVC)中时

Routes

3scale 相关的 OpenShift 路由,如 master 和租户

10.2.4. 恢复 3scale

要恢复之前通过 APIManagerBackup 自定义资源备份的 APIManager 的 3scale 安装,请按照以下步骤执行:

  1. 确保您要执行恢复的项目不包含 APIManager 自定义资源及其对应的 3scale 安装。
  2. 恢复以下 Kubernetes secret:

    • backend-redis
    • system-redis
    • system-database
  3. 创建 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
  4. 等待 APIManagerRestore 完成。通过获取 APIManagerRestore 的内容并等待 .status.completed 字段设置为 true 进行检查。

    您应该会看到创建了一个新的 APIManager 自定义资源并部署 3scale 安装。