apiVersion: velero.io/v1
kind: Restore
metadata:
name: test-restore (1)
namespace: openshift-adp
spec:
backupName: <backup_name> (2)
restorePVs: true
namespaceMapping:
<application_namespace>: test-restore-application (3)
以下是使用 OADP 将备份恢复到不同命名空间的用例。
使用 OADP 将应用程序的备份恢复到新的目标命名空间 `test-restore-application`。要恢复备份,您需要创建一个如下例所示的恢复自定义资源 (CR)。在恢复 CR 中,源命名空间指的是您在备份中包含的应用程序命名空间。然后,您可以通过将项目更改为新的已恢复命名空间并验证资源来验证恢复。
您已安装 OADP 运算符。
您拥有要恢复的应用程序备份。
创建一个如下例所示的恢复 CR
apiVersion: velero.io/v1
kind: Restore
metadata:
name: test-restore (1)
namespace: openshift-adp
spec:
backupName: <backup_name> (2)
restorePVs: true
namespaceMapping:
<application_namespace>: test-restore-application (3)
1 | 恢复 CR 的名称。 |
2 | 指定备份的名称。 |
3 | `namespaceMapping` 将源应用程序命名空间映射到目标应用程序命名空间。指定您已备份的应用程序命名空间。`test-restore-application` 是您想要恢复备份的目标命名空间。 |
运行以下命令应用恢复 CR
$ oc apply -f <restore_cr_filename>
通过运行以下命令验证恢复是否处于 `Completed` 阶段
$ oc describe restores.velero.io <restore_name> -n openshift-adp
运行以下命令切换到已恢复的命名空间 `test-restore-application`
$ oc project test-restore-application
通过运行以下命令验证已恢复的资源,例如持久卷声明 (pvc)、服务 (svc)、部署、密钥和配置映射
$ oc get pvc,svc,deployment,secret,configmap
NAME STATUS VOLUME
persistentvolumeclaim/mysql Bound pvc-9b3583db-...-14b86
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/mysql ClusterIP 172....157 <none> 3306/TCP 2m56s
service/todolist ClusterIP 172.....15 <none> 8000/TCP 2m56s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/mysql 0/1 1 0 2m55s
NAME TYPE DATA AGE
secret/builder-dockercfg-6bfmd kubernetes.io/dockercfg 1 2m57s
secret/default-dockercfg-hz9kz kubernetes.io/dockercfg 1 2m57s
secret/deployer-dockercfg-86cvd kubernetes.io/dockercfg 1 2m57s
secret/mysql-persistent-sa-dockercfg-rgp9b kubernetes.io/dockercfg 1 2m57s
NAME DATA AGE
configmap/kube-root-ca.crt 1 2m57s
configmap/openshift-service-ca.crt 1 2m57s