-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Need a way to skip backup of volumes based on type #5035
Comments
@gsadhani Could you clarify why the opt-out approach can't solve the problem? |
@reasonerjt yes, identify each pod in the workload containing the specific type of volume and annotating them could be cumbersome. It would be very convenient if we could skip the volumes based on volume type which can be specified as a backup configuration parameter. |
there are many factors could differentiate volume type : storage class, or bigger, or nfs, or specific drivers. |
We can consider K8S supported volume types only for this scenario https://kubernetes.io/docs/concepts/storage/volumes/. Also, initially we can start with allowed skip volume type list for limited volume types. Usually some of the volume types can be backed using storage systems like nfs, fc, iscsi OR ephemeral/non-persistent volumes like emptyDir. hostPath, downwardAPI, local etc. This will reduce manual effort for annotating all pods. If there is autoscaling defined for pods, user need to find way to add annotation automatically. |
found more SKIP backup requirements, we should consider all cases and comeup with a generic way to handle skip: #957 skip restic backup/restore: not backup the PV data, but backup the cluster state.
|
so in summary, the requirements of skip:
|
I understand the requirement that we may want to introduce a way for user to skip backup of certain PV but not having to update the spec of the pods. However, I'm not sure if skipping backup PV based on type is a good idea, this may be handy for a certain user but is it generic enough that users have the similar usage pattern that for some I think skipping PVs based on type is do-able but we should avoid adding features that are only feasible to a very small group of users. |
it does not have to be a specific type defined here: https://kubernetes.io/docs/concepts/storage/volumes/ typical user story:
Would it be better by using name of StorageClass? Platform operator should know well how many storage class they offer to applications. That way, we do not worry about the specific type of PV, and also give the flexility to admin.
|
@euclidsun In our case, some PVCs are only used for logging while another PVCs are for DBs and configurations. I think It's difficult to only classify them by Then upper application can configure or calculate required volume lists to velero. |
@blackpiglet Let's start the design in 1.10 timeframe |
By far, I thought out of two scenarios of skipping volume backing up.
|
I think filtering volume by type also has some value, but there may be not many suitable use cases. |
Another scenario is stated here #957 (comment). |
@gsadhani @pradeepkchaturvedi @reasonerjt |
I think the higher priority is to design a mechanism and format of the filter in bakup CR so user can skip the PVs during backup, we will also need to decide if this filter applies to restic only or both restic and snapshot. A design proposal will be drafted in v1.10 timeframe. |
@reasonerjt It was mentioned on yesterday's community call that we may want to also use the filter for deciding which PVs to back up with restic/kopia vs. snapshots. |
@sseago |
@blackpiglet I'm not sure what design/UX is best here -- separate filters for "what back up via kopia/restic" vs. "what to back up via snapshot", or one filter for "include these volumes", and another (depending on opt-in vs. opt-out for kopia) for "among the volumes backed up, these use kopia". If we're not careful, this can get very confusing for users. But it was brought up on the call this week that some users wanted a way to identify restic/kopia vs. csi/snapshot volumes without having to individually annotate one category or the other. |
@sseago |
There is some more requirements related to this topic from #5340. |
close it for the implement pr is merged |
Describe the problem/challenge you have
When taking a backup, Velero tries to all pod volumes available. Some volumes can be too large or backed up using other solutions. It is desirable to skip backup of volumes based on its type.
Describe the solution you'd like
A way to configure the backup to skip certain types of volumes like NFS.
Anything else you would like to add:
None
Environment:
velero version
): 1.8.1kubectl version
): 1.22/etc/os-release
): PhotonVote on this issue!
This is an invitation to the Velero community to vote on issues, you can see the project's top voted issues listed here.
Use the "reaction smiley face" up to the right of this comment to vote.
The text was updated successfully, but these errors were encountered: