第 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. 备份数据
下表显示了已备份的数据的列表:
对象 | 对象类型数据 |
---|---|
Secrets |
|
ConfigMaps |
|
APIManager | APIManager 自定义资源 Kubernetes 对象定义 - json 模式定义 |
System FileStorage | 当系统文件存储的位置位于 PersistentVolumeClaim(PVC)中时 |
10.1.4. 备份 3scale
要备份使用现有 APIManager 部署 3scale 安装,请使用以下步骤:
流程
备份以下 Kubernetes secret:
-
backend-redis
-
system-redis
-
system-database
-
在部署了由 APIManager 对象管理的 3scale 安装的同一命名空间中创建
APIManagerBackup
自定义资源,例如:示例 1
apiVersion: apps.3scale.net/v1alpha1 kind: APIManagerBackup metadata: name: example-apimanagerbackup-pvc spec: backupDestination: persistentVolumeClaim: resources: requests: "10Gi"
示例 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"
-
等待
APIManagerBackup
完成。通过获取APIManagerBackup
的内容并等待.status.completed
字段设置为 true 进行检查。
备份内容在备份数据中详细介绍。
APIManagerBackup
的 status 部分中的其他字段显示备份详情,如当配置的备份目的地为 PVC 时备份数据的 PVC 名称。
如需以后的引用,请记下 status.backupPersistentVolumeClaimName
字段的值。当使用 APIManagerRestore
恢复 APIManager 安装时,它所需的其中一个字段是 PersistentVolumeClaimName
备份源。