4.5. OADP 用例
4.5.1. 使用 OpenShift API 进行数据保护和 {odf-first} 进行备份 复制链接链接已复制到粘贴板!
以下是使用 OADP 和 {odf-short} 备份应用程序的用例。
4.5.1.1. 使用 OADP 和 {odf-short} 备份应用程序 复制链接链接已复制到粘贴板!
在这种情况下,您可以使用 OADP 备份应用程序,并将备份存储在 {odf-first} 提供的对象存储中。
- 您可以创建一个对象存储桶声明(OBC)来配置备份存储位置。您可以使用 {odf-short} 配置 Amazon S3 兼容对象存储桶。{odf-short} 提供 MultiCloud Object Gateway (NooBaa MCG)和 Ceph 对象网关,也称为 RADOS 网关(RGW)、对象存储服务。在这种情况下,您可以使用 NooBaa MCG 作为备份存储位置。
-
您可以使用
aws
供应商插件在 OADP 中使用 NooBaa MCG 服务。 - 您可以使用备份存储位置(BSL)配置数据保护应用程序(DPA)。
- 您可以创建备份自定义资源(CR)并指定要备份的应用程序命名空间。
- 您可以创建并验证备份。
先决条件
- 已安装 OADP Operator。
- 已安装 {odf-short} Operator。
- 您有一个应用程序,其数据库在单独的命名空间中运行。
流程
创建一个 OBC 清单文件来请求 NooBaa MCG 存储桶,如下例所示:
OBC 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建 OBC:
oc create -f <obc_file_name>
$ oc create -f <obc_file_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定对象存储桶声明清单的文件名。
当您创建 OBC 时,{odf-short} 会创建一个
secret
和一个配置映射
,其名称与对象存储桶声明相同。secret
具有存储桶凭证,配置映射
有访问存储桶的信息。要从生成的配置映射中获取存储桶名称和存储桶主机,请运行以下命令:oc extract --to=- cm/test-obc
$ oc extract --to=- cm/test-obc
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
test-obc
是 OBC 的名称。
输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要从生成的
secret
获取存储桶凭证,请运行以下命令:oc extract --to=- secret/test-obc
$ oc extract --to=- secret/test-obc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY
# AWS_ACCESS_KEY_ID ebYR....xLNMc # AWS_SECRET_ACCESS_KEY YXf...+NaCkdyC3QPym
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,从
openshift-storage
命名空间中的 s3 路由获取 S3 端点的公共 URL:oc get route s3 -n openshift-storage
$ oc get route s3 -n openshift-storage
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用对象存储桶凭证创建一个
cloud-credentials
文件,如下所示:[default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY>
[default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
cloud-credentials
文件内容创建cloud-credentials
secret,如下所示:oc create secret generic \ cloud-credentials \ -n openshift-adp \ --from-file cloud=cloud-credentials
$ oc create secret generic \ cloud-credentials \ -n openshift-adp \ --from-file cloud=cloud-credentials
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置 Data Protection Application (DPA),如下例所示:
DPA 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建 DPA:
oc apply -f <dpa_filename>
$ oc apply -f <dpa_filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,验证 DPA 是否已成功创建。在示例输出中,您可以看到
status
对象将type
字段设置为Reconciled
。这意味着 DPA 已被成功创建。oc get dpa -o yaml
$ oc get dpa -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,验证备份存储位置(BSL)是否可用:
oc get backupstoragelocations.velero.io -n openshift-adp
$ oc get backupstoragelocations.velero.io -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 3s 15s true
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 3s 15s true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置备份 CR,如下例所示:
备份 CR 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定要备份的应用程序的命名空间。
运行以下命令来创建备份 CR:
oc apply -f <backup_cr_filename>
$ oc apply -f <backup_cr_filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
运行以下命令,验证备份对象是否处于
Completed
阶段。如需了解更多详细信息,请参阅示例输出。oc describe backup test-backup -n openshift-adp
$ oc describe backup test-backup -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.2. OpenShift API for Data Protection (OADP) 恢复用例 复制链接链接已复制到粘贴板!
以下是使用 OADP 的用例将备份恢复到不同的命名空间。
4.5.2.1. 使用 OADP 将应用程序恢复到不同的命名空间 复制链接链接已复制到粘贴板!
使用 OADP 将应用程序的备份恢复到新目标命名空间 test-restore-application
。要恢复备份,请创建一个恢复自定义资源 (CR),如下例所示。在恢复 CR 中,源命名空间指的是您在备份中包含的应用程序命名空间。然后,您可以通过将项目更改为新的恢复的命名空间并验证资源来验证恢复。
先决条件
- 已安装 OADP Operator。
- 您已备份要恢复的应用程序。
流程
创建一个恢复 CR,如下例所示:
恢复 CR 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来应用恢复 CR:
oc apply -f <restore_cr_filename>
$ oc apply -f <restore_cr_filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
运行以下命令验证恢复是否处于
Completed
阶段:oc describe restores.velero.io <restore_name> -n openshift-adp
$ oc describe restores.velero.io <restore_name> -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,进入恢复的命名空间
test-restore-application
:oc project test-restore-application
$ oc project test-restore-application
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,验证恢复的资源,如持久性卷声明(pvc)、服务(svc)、部署、secret 和配置映射:
oc get pvc,svc,deployment,secret,configmap
$ oc get pvc,svc,deployment,secret,configmap
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.3. 在备份过程中包括自签名 CA 证书 复制链接链接已复制到粘贴板!
您可以在数据保护应用程序(DPA)中包括自签名证书颁发机构(CA)证书,然后备份应用程序。您可以将备份存储在 {odf-first} 提供的 NooBaa bucket 中。
4.5.3.1. 备份应用程序及其自签名 CA 证书 复制链接链接已复制到粘贴板!
{odf-short} 提供的 s3.openshift-storage.svc
服务使用使用自签名服务 CA 签名的传输层安全协议 (TLS) 证书。
要防止出现 certificate signed by unknown authority
错误,您必须在 DataProtectionApplication
自定义资源(CR)的备份存储位置(BSL)部分包含自签名 CA 证书。在这种情况下,您必须完成以下任务:
- 通过创建对象存储桶声明(OBC)来请求 NooBaa 存储桶。
- 提取存储桶详情。
-
在
DataProtectionApplication
CR 中包含自签名 CA 证书。 - 备份应用程序。
先决条件
- 已安装 OADP Operator。
- 已安装 {odf-short} Operator。
- 您有一个应用程序,其数据库在单独的命名空间中运行。
流程
创建 OBC 清单以请求 NooBaa 存储桶,如下例所示:
ObjectBucketClaim
CR 示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建 OBC:
oc create -f <obc_file_name>
$ oc create -f <obc_file_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当您创建 OBC 时,{odf-short} 会创建一个
secret
和一个配置映射
,其名称与对象存储桶声明相同。secret
对象包含存储桶凭证,ConfigMap
对象包含用于访问存储桶的信息。要从生成的配置映射中获取存储桶名称和存储桶主机,请运行以下命令:oc extract --to=- cm/test-obc
$ oc extract --to=- cm/test-obc
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- OBC 的名称为
test-obc
。
输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要从
secret
对象获取存储桶凭证,请运行以下命令:oc extract --to=- secret/test-obc
$ oc extract --to=- secret/test-obc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY
# AWS_ACCESS_KEY_ID ebYR....xLNMc # AWS_SECRET_ACCESS_KEY YXf...+NaCkdyC3QPym
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下示例配置创建带有对象存储桶凭证的
cloud-credentials
文件:[default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY>
[default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,创建带有
cloud-credentials
文件内容的cloud-credentials
secret:oc create secret generic \ cloud-credentials \ -n openshift-adp \ --from-file cloud=cloud-credentials
$ oc create secret generic \ cloud-credentials \ -n openshift-adp \ --from-file cloud=cloud-credentials
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,从
openshift-service-ca.crt
配置映射中提取服务 CA 证书。确保您以Base64
格式编码证书,并记录下一步中使用的值。oc get cm/openshift-service-ca.crt \ -o jsonpath='{.data.service-ca\.crt}' | base64 -w0; echo
$ oc get cm/openshift-service-ca.crt \ -o jsonpath='{.data.service-ca\.crt}' | base64 -w0; echo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0... ....gpwOHMwaG9CRmk5a3....FLS0tLS0K
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0... ....gpwOHMwaG9CRmk5a3....FLS0tLS0K
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用存储桶名称和 CA 证书配置
DataProtectionApplication
CR 清单文件,如下例所示:DataProtectionApplication
CR 示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建
DataProtectionApplication
CR:oc apply -f <dpa_filename>
$ oc apply -f <dpa_filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令验证
DataProtectionApplication
CR 是否已成功创建:oc get dpa -o yaml
$ oc get dpa -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,验证备份存储位置(BSL)是否可用:
oc get backupstoragelocations.velero.io -n openshift-adp
$ oc get backupstoragelocations.velero.io -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 3s 15s true
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 3s 15s true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下示例配置
Backup
CR:Backup
CR 示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定要备份的应用程序的命名空间。
运行以下命令来创建
Backup
CR:oc apply -f <backup_cr_filename>
$ oc apply -f <backup_cr_filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
运行以下命令,验证
Backup
对象是否处于Completed
阶段:oc describe backup test-backup -n openshift-adp
$ oc describe backup test-backup -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow