跳到主要内容

AppBackup 与 AppRestore

AppBackupAppRestore 是项目对 Velero BackupRestore 的封装层。它们让上层控制器用项目内统一的语义处理备份恢复,而不是到处直接拼装 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 在完整恢复模式下也会创建恢复相关对象。