核心能力
应用级保护
DisasterInstance 描述一个被保护的应用实例,包括源集群、目标集群、命名空间、同步策略、恢复策略和运行时状态。实例创建后,operator 会自动创建并维护 DataSync 和 ResourceSync。
数据同步
DataSync 面向 PVC 数据。它通过 AppBackup 在源集群触发 Velero Backup,再通过 AppRestore 在目标集群执行恢复。Trafficless Restore 用临时 Pod 挂载目标 PVC 接收数据,避免恢复过程把 standby 工作负载暴露到业务流量。
资源同步
ResourceSync 面向 Kubernetes 资源。它会备份应用资源骨架,并在目标集群恢复为 standby 形态。默认 standby modifier 会记录工作负载原始副本数,并把 deployments.apps、statefulsets.apps 等资源的副本数设为 0。
故障切换
DisasterOperation 的 operationType=failover 会按步骤执行:PreCheck、PauseSchedules、FinalSync、ScaleDownSource、ScaleUpTarget、CheckReplicas、SwitchRoles。失败时可触发 cancel/rollback 风格的补偿路径。
反向保护
故障切换完成后,reprotect 会确认新主集群与新备集群的角色关系,恢复调度并建立反向保护链路。
容灾组
DisasterGroup 用二维 levels 表达多实例编排。Level 之间顺序执行,同一 Level 内可以并行执行,并受 fail policy、timeout、parallelism、retry policy 约束。
容灾演练
DisasterDrill 支持实例级和组级演练。它可以复用已有 standby 资源,也可以完整恢复到演练命名空间,验证备份、资源和数据的可恢复性。
可观测性
系统通过 status、conditions、history、Kubernetes Event、Watch API 和统计 API 暴露运行状态。控制台可以订阅实例、组、操作、演练和事件变化。