运行原生应用恢复任务
您可以在以下场景中,基于现有的原生应用备份记录执行原生应用恢复任务,将原生应用快速恢复到目标命名空间:
-
Kubernetes 资源被误删,需要恢复。
-
需要将原生应用数据迁移到同一集群中的其他命名空间。
-
需要将原生应用资源迁移到平台中其他集群的命名空间。
-
生产集群中备份的 Kubernetes 资源需要恢复到灾难恢复集群。
前提条件
-
集群存储备份文件的对象存储中存在一次成功的原生应用备份。
-
如果 PersistentVolume 的 reclaimPolicy 为 Retain,请在将数据恢复到已绑定的 PVC 之前,删除对应 PersistentVolume(PV)上的
spec.claimRef.uid和spec.claimRef.resourceVersion。 -
对于跨集群恢复(数据迁移),请确保目标集群和备份文件所在的集群能够读取同一个备份文件。可通过以下两种方式实现:
-
目标集群和备份文件所在的集群连接到同一个对象存储。
-
预先将所需的备份文件复制到与目标集群连接的对象存储中。
-
-
如果在原生应用备份中选择的资源类型为 Backup Kubernetes resources and persistent volume claims,请确保目标集群的 StorageClass 名称与源集群一致。否则,请在 Advanced Recovery Target Settings 中配置源存储类与目标存储类之间的映射关系。
操作步骤
-
在左侧导航栏中,单击 Clusters > Backup and Recovery。
-
切换到 Recovery Management 选项卡。
-
单击 Execute Application Recovery Task。
-
按如下方式配置参数。
-
单击右上角的 YAML 切换到 YAML 编辑模式。要配置恢复期间运行的命令,请参见 Configuring Hooks。
注意:默认情况下,备份文件会与目标命名空间中的资源进行比较。仅恢复备份文件中存在但命名空间中缺失的数据。不会覆盖同名资源或增量资源(命名空间中存在但备份文件中缺失的资源)。
如需覆盖命名空间中已存在的同名资源:
-
单击右上角的 YAML 切换到 YAML 编辑模式。
-
在
.spec下添加existingResourcePolicy: update,并按如下所示将pods添加到excludedResources:excludedResources: ["pods"]。
提示:此方法无法覆盖绑定到 PVC 的 PersistentVolume 中的原生应用数据。
-
-
单击 Start。
下一步
-
Namespace Import:在跨集群或跨平台迁移后,需将命名空间手动导入 Project Management 中对应的项目。否则,恢复后的原生应用可能不会显示在平台 UI 中。
-
Reconfigure Fixed IP:在跨集群或跨平台迁移后,计算组件中容器的固定 IP 地址会发生变化。如有需要,请手动更新部署、DaemonSet 和 StatefulSet 的容器组 Static IP Address 参数。
相关操作
重试
如果恢复任务失败,可以重试该任务。
重试将生成一条新的恢复记录,您可以通过新的恢复记录查看任务执行状态。
操作步骤
-
在左侧导航栏中,单击 Clusters > Backup and Recovery。
-
切换到 Recovery Management 选项卡。
-
单击失败恢复记录右侧的 Retry,并确认。
下载原生应用恢复任务日志
每次执行恢复任务时,都会生成一条恢复记录。您可以通过恢复记录查看执行状态和详情(YAML),并手动下载原生应用恢复任务的操作日志。
操作步骤
-
在左侧导航栏中,单击 Clusters > Backup and Recovery。
-
切换到 Recovery Management 选项卡。
-
单击恢复记录右侧的 Export Log。