4.3. OADP 功能和插件
OpenShift API 用于数据保护(OADP)功能,提供用于备份和恢复应用的选项。
默认插件使 Velero 能够与某些云供应商集成,并备份和恢复 OpenShift Container Platform 资源。
4.3.1. OADP 功能
OpenShift API 用于数据保护(OADP)支持以下功能:
- Backup
您可以使用 OADP 备份 OpenShift Platform 中的所有应用程序,或者您可以根据类型、命名空间或标签过滤资源。
OADP 通过将 Kubernetes 对象和内部镜像保存为对象存储上的存档文件来备份 Kubernetes 对象和内部镜像。OADP 使用原生云快照 API 或通过容器存储接口(CSI)创建快照来备份持久性卷(PV)。对于不支持快照的云供应商,OADP 使用 Restic 备份资源和 PV 数据。
注意您必须从应用程序的备份中排除 Operator,以便成功备份和恢复。
- 恢复
您可以从备份中恢复资源和 PV。您可以恢复备份中的所有对象,或者根据命名空间、PV 或标签过滤对象。
注意您必须从应用程序的备份中排除 Operator,以便成功备份和恢复。
- 调度
- 您可以通过指定的间隔调度备份。
- 钩子
-
您可以使用 hook 在 pod 上的容器中运行命令,如
fsfreeze
以冻结文件系统。您可以将 hook 配置为在备份或恢复之前或之后运行。恢复 hook 可以在 init 容器或应用程序容器中运行。
4.3.2. OADP 插件
用于数据保护(OADP)的 OpenShift API 提供了与存储供应商集成的默认 Velero 插件,以支持备份和恢复操作。您可以根据 Velero 插件创建自定义插件。
OADP 还为 OpenShift Container Platform 资源备份、OpenShift Virtualization 资源备份和 Container Storage Interface(CSI)快照提供了插件。
OADP 插件 | 功能 | 存储位置 |
---|---|---|
| 备份和恢复 Kubernetes 对象。 | AWS S3 |
使用快照备份和恢复卷。 | AWS EBS | |
| 备份和恢复 Kubernetes 对象。 | Microsoft Azure Blob 存储 |
使用快照备份和恢复卷。 | Microsoft Azure 管理的磁盘 | |
| 备份和恢复 Kubernetes 对象。 | Google Cloud Storage |
使用快照备份和恢复卷。 | Google Compute Engine 磁盘 | |
| 备份和恢复 OpenShift Container Platform 资源。[1] | 对象存储 |
| 备份和恢复 OpenShift Virtualization 资源。[2] | 对象存储 |
| 使用 CSI 快照备份和恢复卷。[3] | 支持 CSI 快照的云存储 |
- 必需。
- 虚拟机磁盘使用 CSI 快照或 Restic 备份。
-
csi
插件使用 Velero CSI beta 快照 API。
4.3.3. 关于 OADP Velero 插件
安装 Velero 时,您可以配置两种类型的插件:
- 默认云供应商插件
- 自定义插件
两种类型的插件都是可选的,但大多数用户都会至少配置一个云供应商插件。
4.3.3.1. 默认 Velero 云供应商插件
当您在部署过程中配置 oadp_v1alpha1_dpa.yaml
文件时,您可以安装以下默认 Velero 云供应商插件:
-
aws
(Amazon Web Services) -
gcp
(Google Cloud Platform) -
azure
(Microsoft Azure) -
openshift
(OpenShift Velero plugin) -
csi
(Container Storage Interface) -
kubevirt
(KubeVirt)
在部署过程中,您可以在 oadp_v1alpha1_dpa.yaml
文件中指定所需的默认插件。
示例文件
以下 .yaml
文件会安装 openshift
、aws
、azure
和 gcp
插件:
apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: dpa-sample spec: configuration: velero: defaultPlugins: - openshift - aws - azure - gcp
4.3.3.2. 自定义 Velero 插件
您可在部署期间配置 oadp_v1alpha1_dpa.yaml
文件时,通过指定插件 镜像
和名称
来安装自定义 Velero 插件。
在部署过程中,您可以在 oadp_v1alpha1_dpa.yaml
文件中指定所需的自定义插件。
示例文件
以下 .yaml
文件会安装默认的 openshift
、azure
和 gcp
插件,以及一个自定义插件,其名称为 custom-plugin-example
和镜像 quay.io/example-repo/custom-velero-plugin
:
apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: dpa-sample spec: configuration: velero: defaultPlugins: - openshift - azure - gcp customPlugins: - name: custom-plugin-example image: quay.io/example-repo/custom-velero-plugin
4.3.3.3. Velero 插件返回 "received EOF, stop recv loop" 信息
Velero 插件作为单独的进程启动。当 Velero 操作完成后,无论是否成功,它们都会退出。接收到 received EOF, stopping recv loop
消息表示插件操作已完成。这并不意味着发生了错误。
4.3.4. OADP 支持的构架
OpenShift API for Data Protection (OADP) 支持以下构架:
- AMD64
- ARM64
- PPC64le
- s390x
OADP 1.2.0 及更新版本支持 ARM64 架构。
4.3.5. OADP 支持 IBM Power 和 IBM Z
OpenShift API for Data Protection (OADP) 是一个平台中立的平台。以下的信息只与 IBM Power 和 IBM Z 相关。
OADP 1.1.0 对于 IBM Power 和 IBM Z 均针对 OpenShift Container Platform 4.11 进行了成功测试。以下小节介绍了在这些系统的备份位置上为 OADP 1.1.0 的测试和支持信息。
4.3.5.1. OADP 支持使用 IBM Power 的目标备份位置
在 IBM Power 中运行 OpenShift Container Platform 4.11 和 4.12,以及 OpenShift API for Data Protection (OADP) 1.1.2 已针对 AWS S3 备份位置目标成功进行了测试。虽然测试只涉及一个 AWS S3 目标,但红帽也支持针对所有非 AWS S3 备份位置目标在 IBM Power 中运行 OpenShift Container Platform 4.11 和 4.12, 以及 OADP 1.1.2。
4.3.5.2. OADP 测试并支持使用 IBM Z 的目标备份位置
使用 OpenShift Container Platform 4.11 和 4.12 运行 IBM Z,对于数据保护(OADP) 1.1.2 的 OpenShift API 已针对 AWS S3 备份位置目标成功进行了测试。虽然测试只涉及一个 AWS S3 目标,但红帽也支持在 OpenShift Container Platform 4.11 和 4.12 中运行 IBM Z,以及 OADP 1.1.2 针对所有非 AWS S3 备份位置目标。