AppBackup 与 AppRestore
AppBackup 和 AppRestore 是项目对 Velero Backup 和 Restore 的封装层。它们让上层控制器用项目内统一的语义处理备份恢复,而不是到处直接拼装 Velero CR。
为什么需要封装层
- 统一命名、标签和 owner/reference。
- 记录父级实例、同步对象、操作来源。
- 把 Velero status 转换为项目内 status。
- 注入 restore policy、modifier、namespace mapping、storage class mapping。
- 为 Server 和控制台提供稳定的历史对象。
AppBackup
AppBackup 主要用于:
- 备份源集群资源和数据。
- 创建 Velero
Backup。 - 观测 Velero backup phase。
- 写入 Ready/Failed/Deleting 等状态。
AppRestore
AppRestore 主要用于:
- 在目标集群创建 Velero
Restore。 - 应用 namespace mapping、restorePVs、existingResourcePolicy。
- 应用 restore modifiers。
- 处理 Velero Restore、PodVolumeRestore 和恢复结果。
与同步控制器的关系
DataSync使用AppBackup+AppRestore同步 PVC 数据。ResourceSync使用AppBackup+AppRestore同步 Kubernetes 资源。DisasterDrill在完整恢复模式下也会创建恢复相关对象。