容灾快速体验:保护一个命名空间并完成一次切换
这条路径用于验证完整容灾链路:创建同步策略、基础配置和容灾实例,等待实例进入 Protected,然后执行一次实例级 Failover。
本教程截图来自一次真实控制台演练:
| 项目 | 示例值 |
|---|---|
| 实例 | docs-walkthrough-20260511 |
| 容灾配置 | dc01 |
| 保护命名空间 | dr-pvc-src-170 |
| 初始主集群 | ip170-test-001 |
| 初始备集群 | cluster-ip171-1774332463 |
前置条件
- 源集群和目标集群已注册并 Ready。
- 存储仓库已配置并且两端可访问。
- 源集群中已有演示命名空间,例如
dr-pvc-src-170。 - 目标集群已经准备 StorageClass、IngressClass、镜像拉取 Secret 和必要 CRD。
创建策略
进入 策略管理,创建或选择 DataSync 和 ResourceSync 策略。

创建策略时选择对应类型,并设置调度周期。


创建基础配置
进入 容灾管理 / 基础配置,创建源集群、目标集群、存储仓库和同步策略的组合。


创建容灾实例
进入 容灾管理 / 实例配置,创建保护对象,选择基础配置、命名空间、标签选择器和恢复策略。


选择业务命名空间,工作负载模式保持 replica。截图中选择的是 test-nginx-2;如果按本教程环境演练,可以选择 dr-pvc-src-170。创建容灾实例时,命名空间下拉列表只展示包含运行中 Deployment 或 StatefulSet 应用的命名空间;裸 Pod、DaemonSet、Job/CronJob-only 命名空间不会作为可选保护范围。

高级选项用于配置 StorageClass 映射、数据/资源同步策略覆盖、Resource Policies、资源定制化修改和批量修改/删除。这里是可滚动表单,如果需要配置资源范围,继续向下查看 Resource Policies 区域。


保存后等待实例进入 Protected。界面展示为 保护中。此时 DataSync 已完成数据同步,ResourceSync 已在目标集群准备 standby 资源。

进入详情页后,可以查看基础信息、资源同步摘要和历史操作记录。

在 资源同步策略 标签查看 DataSync 和 ResourceSync 的最新状态。

执行 Failover
在实例操作中触发故障切换。operator 会依次执行预检查、暂停调度、最终同步、源端缩容、目标端扩容、检查副本和切换角色。切换设计和步骤说明见 容灾切换流程。

点击 容灾切换 后,先确认参数。示例中验证了两种路径:
- 勾选 源集群缩0 和 执行最后一次同步:会执行最终同步,但本次真实环境的
FinalSync超过 3 分钟超时,Operator 自动补偿恢复为Protected。 - 不勾选 源集群缩0 和 执行最后一次同步:跳过源端缩容和最终同步,使用最近一次成功同步点完成快速切换。

切换执行中,实例状态展示为 故障切换中。

快速切换成功后,实例进入 Active,界面展示为 未保护,可执行 容灾回退 或 反向保护。

执行 反向保护 后,实例重新进入 Protected,保护方向变为目标集群到原源集群。

验证
kubectl -n disaster-system get disasterinstance docs-walkthrough-20260511 -o yaml
kubectl -n disaster-system get disasteroperation -l testudo.softcdata.com/instance=docs-walkthrough-20260511
kubectl --context <target-cluster> -n dr-pvc-src-170 get deploy,sts,svc,pvc
完成标准:
- Failover 成功后实例进入
Active,平台展示 未保护。 - 执行反向保护后实例回到
Protected,平台展示 保护中。 - 最新
DisasterOperation成功。 - 目标集群工作负载副本数恢复。
- 如果选择执行源端缩容,源集群工作负载按策略缩容或停止服务;如果跳过源端缩容,需要由外部流量治理避免双写。
- 任务事件无未处理错误。