命名空间、StorageClass 和 IngressClass 映射
恢复映射用于把源集群资源安全落到目标集群。跨集群恢复和演练恢复通常都需要映射。
命名空间映射
最常见的测试恢复方式是把源命名空间恢复到新命名空间:
namespaceMapping:
demo-bookinfo: demo-bookinfo-restore
这样可以避免覆盖源命名空间,也便于恢复后清理。
StorageClass 映射
源集群和目标集群的 StorageClass 名称经常不同。例如:
| 源集群 | 目标集群 |
|---|---|
fast-ssd | standard |
csi-rbd-sc | csi-hostpath-sc |
恢复前确认目标 StorageClass 支持所需访问模式和容量。
IngressClass 映射
如果源集群使用 nginx,目标集群使用 traefik,需要在恢复策略或 modifier 中调整 IngressClass。否则 Ingress 对象可能创建成功但没有控制器接管。
控制台配置
在应用恢复中,向下滚动到 命名空间控制 区域配置包含/排除命名空间和命名空间映射。

| 选项 | 说明 | 建议 |
|---|---|---|
| 包含命名空间 | 只恢复指定源命名空间。 | 只恢复部分应用时填写;完整恢复通常留空。 |
| 排除命名空间 | 从恢复范围中排除指定源命名空间。 | 避免把临时、测试或不应恢复的 namespace 带到目标集群。 |
| 源命名空间 | 需要映射的备份源 namespace。 | 从备份内容中选择,不要手写不存在的命名空间。 |
| 目标命名空间 | 恢复后落到目标集群的 namespace。 | 演练恢复使用新命名空间,便于隔离和清理。 |
| 添加 | 将当前源/目标命名空间保存为一条映射规则。 | 填写后必须点击添加,否则保存时不会生效。 |
容灾实例中也可以配置恢复策略,让后续 DataSync、ResourceSync、Failover 和 Drill 复用。

验证
恢复完成后检查:
kubectl --context prod-b get ns demo-bookinfo-restore
kubectl --context prod-b -n demo-bookinfo-restore get pvc
kubectl --context prod-b -n demo-bookinfo-restore get ingress -o yaml
常见问题
- 只映射命名空间,忘记目标集群没有同名 StorageClass。
- Ingress 恢复成功但没有地址,实际是 IngressClass 不匹配。
- Secret 或镜像拉取凭据没有恢复,Pod 无法启动。
- 目标命名空间已存在旧资源,导致恢复冲突。