第 10 章 使用自定义资源进行 3scale 备份和恢复


本章包含使用 API Manager 自定义资源(CR)部署的 Red Hat 3scale API 管理安装的备份和恢复功能详情。在这种情况下,CRD 由 3scale Operator 提供。

来自 operator 功能的自定义资源不属于 3scale 安装的一部分。因此,在 3scale 安装备份和恢复功能中不包含自定义资源。

重要

使用 operator 进行 3scale 备份和恢复只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

先决条件

  • 3scale 安装

以下小节包含使用 Operator 执行 3scale 备份和恢复的步骤。

10.1. 使用操作器备份 3scale

下面的部分提供了备份由 APIManager 自定义资源部署的 3scale 安装所需的信息和步骤。

10.1.1. 备份兼容场景

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

先决条件

  • 备份 3scale 外部数据库:

    • backend-redis
    • system-redis
    • system-database - MySQL 或 PostgreSQL
  • 为 PVC 置备足够空间,使其包含备份的数据。
注意

使用 APIManager 部署的一个 3scale 部署无法使用 S3 作为系统的 FileStorage 进行备份。

10.1.2. 备份场景范围

外部配置以下数据库时,可以使用备份功能:

  • 后端 Redis 数据库
  • 系统 Redis 数据库
  • 系统数据库 - MySQL 或 PostgreSQL

10.1.3. 备份数据

下表显示了已备份的数据的列表:

Expand
表 10.1. 备份的数据
对象对象类型数据

Secrets

  • system-smtp
  • system-seed
  • backend-internal-api
  • backend-listener
  • system-events-hook
  • system-app
  • system-recaptcha
  • zync
  • system-master-apicast
  • system-memcache
  • system-database
  • backend-redis
  • system-redis

ConfigMaps

  • system-environment
  • apicast-environment

APIManager

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

System FileStorage

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

10.1.4. 备份 3scale

要备份使用现有 APIManager 部署 3scale 安装,请使用以下步骤:

流程

  1. 备份以下 Kubernetes secret:

    • backend-redis
    • system-redis
    • system-database
  2. 在部署了由 APIManager 对象管理的 3scale 安装的同一命名空间中创建 APIManagerBackup 自定义资源,例如:

    示例 1

      apiVersion: apps.3scale.net/v1alpha1
      kind: APIManagerBackup
      metadata:
       name: example-apimanagerbackup-pvc
      spec:
        backupDestination:
          persistentVolumeClaim:
            resources:
              requests: "10Gi"
    Copy to Clipboard Toggle word wrap

    示例 2 提供已存在的 PersistentVolume 名称:

      apiVersion: apps.3scale.net/v1alpha1
      kind: APIManagerBackup
      metadata:
       name: example-apimanagerbackup-pvc
      spec:
        backupDestination:
          persistentVolumeClaim:
            # resources specification is required but ignored when providing a volumeName as per K8s PVCs requirements behavior
            resources:
              requests: "10Gi"
            volumeName: "my-preexisting-persistent-volume"
    Copy to Clipboard Toggle word wrap

  3. 等待 APIManagerBackup 完成。通过获取 APIManagerBackup 的内容并等待 .status.completed 字段设置为 true 进行检查。

备份内容在备份数据中详细介绍。

APIManagerBackup 的 status 部分中的其他字段显示备份详情,如当配置的备份目的地为 PVC 时备份数据的 PVC 名称。

如需以后的引用,请记下 status.backupPersistentVolumeClaimName 字段的值。当使用 APIManagerRestore 恢复 APIManager 安装时,它所需的其中一个字段是 PersistentVolumeClaimName 备份源。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat