跳到主要内容

DataSync

DataSync 流程图

可编辑图源:data-sync-flow.excalidraw

DataSync 负责 PVC 数据同步。它由 DisasterInstance 派生,状态包括 ReadyInProgressFailed

输入

DataSync.spec 包含:

  • instance:父级实例名称。
  • trigger.schedule:从策略继承的定时调度。
  • trigger.manual:手动触发时间戳。
  • paused:是否暂停同步。
  • trafficlessConfig:Trafficless Restore 配置。

执行链路

  1. DataSync 进入同步。
  2. 源集群创建 AppBackup
  3. AppBackup 创建或观测 Velero Backup
  4. 备份数据进入对象存储。
  5. 目标集群创建 AppRestore
  6. AppRestore 创建 Trafficless Pod 挂载 PVC 接收数据。
  7. 恢复完成后清理临时 Pod。
  8. DataSync.status 写入 lastBackupName、lastRestoreName、history 和 conditions。

Trafficless Restore

Trafficless Restore 的目标是恢复 PVC 数据但不让目标端工作负载接收业务流量。常见做法是创建临时 Pod 挂载 PVC,并移除可能被 Service 选中的 labels。

观测字段

  • status.state
  • status.reason
  • status.message
  • status.lastSyncTime
  • status.lastBackupName
  • status.lastRestoreName
  • status.trafficlessPods
  • status.history
  • status.conditions