Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Velero data movement - generic volume restore design #5595

Closed
Lyndon-Li opened this issue Nov 16, 2022 · 1 comment
Closed

Velero data movement - generic volume restore design #5595

Lyndon-Li opened this issue Nov 16, 2022 · 1 comment
Assignees
Labels
Milestone

Comments

@Lyndon-Li
Copy link
Contributor

Lyndon-Li commented Nov 16, 2022

We want to create a design for a generic solution to restore volumes for Velero data movement. Basic workflow is as follows:

  • Create the workload pods
  • Provision PVs to the pods through the generic kubernetes approach, for example, dynamic provision or static provision
  • On hold the workload pods
  • Expose the PVs to the data mover pod (through host path vs. attach to pod)
  • Inside the data mover pod, call the related uploader to copy data from the backup repository to the PV
  • Release the workload pods

At present, two candidates:

  • Velero's own approach that is similar to pod volume restore
  • Kuberntes' built in Volume Populator mechanism

Benefits of building this generic restore solution:

  • The solution works for all kinds of backups, i.e., CSI backups, pod volume backups, direct access backups and any other backups added in future
  • The solution doesn't rely on any underlying storage snapshot mechanisms, for example, the restore process doesn't require the CSI snapshot objects or workflows. Therefore, it supports to restore to a heterogenous environment
  • For the same reason, it doesn't need to maintain the underlying storage snapshot objects and so leave many snapshot objects to the production environment after restore
@reasonerjt
Copy link
Contributor

This will be covered in v1.11 when we deliver the overall design of data mover in velero.
Closing as dup of #4112

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants