Releases: vmware-tanzu/velero
v1.18.0
v1.18
Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.18.0
Container Image
velero/velero:v1.18.0
Documentation
Upgrading
https://velero.io/docs/v1.18/upgrade-to-1.18/
Highlights
Concurrent backup
In v1.18, Velero is capable to process multiple backups concurrently. This is a significant usability improvement, especially for multiple tenants or multiple users case, backups submitted from different users could run their backups simultaneously without interfering with each other.
Check design https://github.com/vmware-tanzu/velero/blob/main/design/Implemented/concurrent-backup-processing.md for more details.
Cache volume for data movers
In v1.18, Velero allows users to configure cache volumes for data mover pods during restore for CSI snapshot data movement and fs-backup. This brings below benefits:
- Solve the problem that data mover pods fail to when pod's ephemeral disk is limited
- Solve the problem that multiple data mover pods fail to run concurrently in one node when the node's ephemeral disk is limited
- Working together with backup repository's cache limit configuration, cache volume with appropriate size helps to improve the restore throughput
Check design https://github.com/vmware-tanzu/velero/blob/main/design/Implemented/backup-repo-cache-volume.md for more details.
Incremental size for data movers
In v1.18, Velero allows users to observe the incremental size of data movers backups for CSI snapshot data movement and fs-backup, so that users could visually see the data reduction due to incremental backup.
Wildcard support for namespaces
In v1.18, Velero allows to use Glob regular expressions for namespace filters during backup and restore, so that users could filter namespaces in a batch manner.
VolumePolicy for PVC phase
In v1.18, Velero VolumePolicy supports actions by PVC phase, which help users to do special operations for PVCs with a specific phase, e.g., skip PVCs in Pending/Lost status from the backup.
Scalability and Resiliency improvements
Prevent Velero server OOM Kill for large backup repositories
In v1.18, some backup repository operations are delay executed out of Velero server, so Velero server won't be OOM Killed.
Performance improvement for VolumePolicy
In v1.18, VolumePolicy is enhanced for large number of pods/PVCs so that the performance is significantly improved.
Events for data mover pod diagnostic
In v1.18, events are recorded into data mover pod diagnostic, which allows user to see more information for troubleshooting when the data mover pod fails.
Runtime and dependencies
Golang runtime: 1.25.7
kopia: 0.22.3
Limitations/Known issues
Breaking changes
Deprecation of PVC selected node feature
According to Velero deprecation policy, PVC selected node feature is deprecated in v1.18. Velero could appropriately handle PVC's selected-node annotation, so users don't need to do anything particularly.
All Changes
- Remove backup from running list when backup fails validation (#9498, @sseago)
- Maintenance Job only uses the first element of the LoadAffinity array (#9494, @blackpiglet)
- Fix issue #9478, add diagnose info on expose peek fails (#9481, @Lyndon-Li)
- Add Role, RoleBinding, ClusterRole, and ClusterRoleBinding in restore sequence. (#9474, @blackpiglet)
- Add maintenance job and data mover pod's labels and annotations setting. (#9452, @blackpiglet)
- Fix plugin init container names exceeding DNS-1123 limit (#9445, @mpryc)
- Add PVC-to-Pod cache to improve volume policy performance (#9441, @shubham-pampattiwar)
- Remove VolumeSnapshotClass from CSI B/R process. (#9431, @blackpiglet)
- Use hookIndex for recording multiple restore exec hooks. (#9366, @blackpiglet)
- Sanitize Azure HTTP responses in BSL status messages (#9321, @shubham-pampattiwar)
- Remove labels associated with previous backups (#9206, @Joeavaikath)
- Add VolumePolicy support for PVC Phase conditions to allow skipping Pending PVCs (#9166, @claude)
- feat: Enhance BackupStorageLocation with Secret-based CA certificate support (#9141, @kaovilai)
- Add
--applyflag toinstallcommand, allowing usage of Kubernetes apply to make changes to existing installs (#9132, @mjnagel) - Fix issue #9194, add doc for GOMAXPROCS behavior change (#9420, @Lyndon-Li)
- Apply volume policies to VolumeGroupSnapshot PVC filtering (#9419, @shubham-pampattiwar)
- Fix issue #9276, add doc for cache volume support (#9418, @Lyndon-Li)
- Add Prometheus metrics for maintenance jobs (#9414, @shubham-pampattiwar)
- Fix issue #9400, connect repo first time after creation so that init params could be written (#9407, @Lyndon-Li)
- Cache volume for PVR (#9397, @Lyndon-Li)
- Cache volume support for DataDownload (#9391, @Lyndon-Li)
- don't copy securitycontext from first container if configmap found (#9389, @sseago)
- Refactor repo provider interface for static configuration (#9379, @Lyndon-Li)
- Fix issue #9365, prevent fake completion notification due to multiple update of single PVR (#9375, @Lyndon-Li)
- Add cache volume configuration (#9370, @Lyndon-Li)
- Track actual resource names for GenerateName in restore status (#9368, @shubham-pampattiwar)
- Fix managed fields patch for resources using GenerateName (#9367, @shubham-pampattiwar)
- Support cache volume for generic restore exposer and pod volume exposer (#9362, @Lyndon-Li)
- Add incrementalSize to DU/PVB for reporting new/changed size (#9357, @sseago)
- Add snapshotSize for DataDownload, PodVolumeRestore (#9354, @Lyndon-Li)
- Add cache dir configuration for udmrepo (#9353, @Lyndon-Li)
- Fix the Job build error when BackupReposiotry name longer than 63. (#9350, @blackpiglet)
- Add cache configuration to VGDP (#9342, @Lyndon-Li)
- Fix issue #9332, add bytesDone for cache files (#9333, @Lyndon-Li)
- Fix typos in documentation (#9329, @T4iFooN-IX)
- Concurrent backup processing (#9307, @sseago)
- VerifyJSONConfigs verify every elements in Data. (#9302, @blackpiglet)
- Fix issue #9267, add events to data mover prepare diagnostic (#9296, @Lyndon-Li)
- Add option for privileged fs-backup pod (#9295, @sseago)
- Fix issue #9193, don't connect repo in repo controller (#9291, @Lyndon-Li)
- Implement concurrency control for cache of native VolumeSnapshotter plugin. (#9281, @0xLeo258)
- Fix issue #7904, remove the code and doc for PVC node selection (#9269, @Lyndon-Li)
- Fix schedule controller to prevent backup queue accumulation during extended blocking scenarios by properly handling empty backup phases (#9264, @shubham-pampattiwar)
- Fix repository maintenance jobs to inherit allowlisted tolerations from Velero deployment (#9256, @shubham-pampattiwar)
- Implement wildcard namespace pattern expansion for backup namespace includes/excludes. This change adds support for wildcard patterns (*, ?, [abc], {a,b,c}) in namespace includes and excludes during backup operations (#9255, @Joeavaikath)
- Protect VolumeSnapshot field from race condition during multi-thread backup (#9248, @0xLeo258)
- Update AzureAD Microsoft Authentication Library to v1.5.0 (#9244, @priyansh17)
- Get pod list once per namespace in pvc IBA (#9226, @sseago)
- Fix issue #7725, add design for backup repo cache configuration (#9148, @Lyndon-Li)
- Fix issue #9229, don't attach backupPVC to the source node (#9233, @Lyndon-Li)
- feat: Permit specifying annotations for the BackupPVC (#9173, @clementnuss)
v1.18.0-rc.2
v1.18
Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.18.0-rc.2
Container Image
velero/velero:v1.18.0-rc.2
Documentation
Upgrading
https://velero.io/docs/v1.18/upgrade-to-1.18/
Highlights
Concurrent backup
In v1.18, Velero is capable to process multiple backups concurrently. This is a significant usability improvement, especially for multiple tenants or multiple users case, backups submitted from different users could run their backups simultaneously without interfering with each other.
Check design https://github.com/vmware-tanzu/velero/blob/main/design/Implemented/concurrent-backup-processing.md for more details.
Cache volume for data movers
In v1.18, Velero allows users to configure cache volumes for data mover pods during restore for CSI snapshot data movement and fs-backup. This brings below benefits:
- Solve the problem that data mover pods fail to when pod's ephemeral disk is limited
- Solve the problem that multiple data mover pods fail to run concurrently in one node when the node's ephemeral disk is limited
- Working together with backup repository's cache limit configuration, cache volume with appropriate size helps to improve the restore throughput
Check design https://github.com/vmware-tanzu/velero/blob/main/design/Implemented/backup-repo-cache-volume.md for more details.
Incremental size for data movers
In v1.18, Velero allows users to observe the incremental size of data movers backups for CSI snapshot data movement and fs-backup, so that users could visually see the data reduction due to incremental backup.
Wildcard support for namespaces
In v1.18, Velero allows to use Glob regular expressions for namespace filters during backup and restore, so that users could filter namespaces in a batch manner.
VolumePolicy for PVC phase
In v1.18, Velero VolumePolicy supports actions by PVC phase, which help users to do special operations for PVCs with a specific phase, e.g., skip PVCs in Pending/Lost status from the backup.
Scalability and Resiliency improvements
Prevent Velero server OOM Kill for large backup repositories
In v1.18, some backup repository operations are delay executed out of Velero server, so Velero server won't be OOM Killed.
Performance improvement for VolumePolicy
In v1.18, VolumePolicy is enhanced for large number of pods/PVCs so that the performance is significantly improved.
Events for data mover pod diagnostic
In v1.18, events are recorded into data mover pod diagnostic, which allows user to see more information for troubleshooting when the data mover pod fails.
Runtime and dependencies
Golang runtime: 1.25.7
kopia: 0.22.3
Limitations/Known issues
Breaking changes
Deprecation of PVC selected node feature
According to Velero deprecation policy, PVC selected node feature is deprecated in v1.18. Velero could appropriately handle PVC's selected-node annotation, so users don't need to do anything particularly.
All Changes
- Remove backup from running list when backup fails validation (#9498, @sseago)
- Maintenance Job only uses the first element of the LoadAffinity array (#9494, @blackpiglet)
- Fix issue #9478, add diagnose info on expose peek fails (#9481, @Lyndon-Li)
- Add Role, RoleBinding, ClusterRole, and ClusterRoleBinding in restore sequence. (#9474, @blackpiglet)
- Add maintenance job and data mover pod's labels and annotations setting. (#9452, @blackpiglet)
- Fix plugin init container names exceeding DNS-1123 limit (#9445, @mpryc)
- Add PVC-to-Pod cache to improve volume policy performance (#9441, @shubham-pampattiwar)
- Remove VolumeSnapshotClass from CSI B/R process. (#9431, @blackpiglet)
- Use hookIndex for recording multiple restore exec hooks. (#9366, @blackpiglet)
- Sanitize Azure HTTP responses in BSL status messages (#9321, @shubham-pampattiwar)
- Remove labels associated with previous backups (#9206, @Joeavaikath)
- Add VolumePolicy support for PVC Phase conditions to allow skipping Pending PVCs (#9166, @claude)
- feat: Enhance BackupStorageLocation with Secret-based CA certificate support (#9141, @kaovilai)
- Add
--applyflag toinstallcommand, allowing usage of Kubernetes apply to make changes to existing installs (#9132, @mjnagel) - Fix issue #9194, add doc for GOMAXPROCS behavior change (#9420, @Lyndon-Li)
- Apply volume policies to VolumeGroupSnapshot PVC filtering (#9419, @shubham-pampattiwar)
- Fix issue #9276, add doc for cache volume support (#9418, @Lyndon-Li)
- Add Prometheus metrics for maintenance jobs (#9414, @shubham-pampattiwar)
- Fix issue #9400, connect repo first time after creation so that init params could be written (#9407, @Lyndon-Li)
- Cache volume for PVR (#9397, @Lyndon-Li)
- Cache volume support for DataDownload (#9391, @Lyndon-Li)
- don't copy securitycontext from first container if configmap found (#9389, @sseago)
- Refactor repo provider interface for static configuration (#9379, @Lyndon-Li)
- Fix issue #9365, prevent fake completion notification due to multiple update of single PVR (#9375, @Lyndon-Li)
- Add cache volume configuration (#9370, @Lyndon-Li)
- Track actual resource names for GenerateName in restore status (#9368, @shubham-pampattiwar)
- Fix managed fields patch for resources using GenerateName (#9367, @shubham-pampattiwar)
- Support cache volume for generic restore exposer and pod volume exposer (#9362, @Lyndon-Li)
- Add incrementalSize to DU/PVB for reporting new/changed size (#9357, @sseago)
- Add snapshotSize for DataDownload, PodVolumeRestore (#9354, @Lyndon-Li)
- Add cache dir configuration for udmrepo (#9353, @Lyndon-Li)
- Fix the Job build error when BackupReposiotry name longer than 63. (#9350, @blackpiglet)
- Add cache configuration to VGDP (#9342, @Lyndon-Li)
- Fix issue #9332, add bytesDone for cache files (#9333, @Lyndon-Li)
- Fix typos in documentation (#9329, @T4iFooN-IX)
- Concurrent backup processing (#9307, @sseago)
- VerifyJSONConfigs verify every elements in Data. (#9302, @blackpiglet)
- Fix issue #9267, add events to data mover prepare diagnostic (#9296, @Lyndon-Li)
- Add option for privileged fs-backup pod (#9295, @sseago)
- Fix issue #9193, don't connect repo in repo controller (#9291, @Lyndon-Li)
- Implement concurrency control for cache of native VolumeSnapshotter plugin. (#9281, @0xLeo258)
- Fix issue #7904, remove the code and doc for PVC node selection (#9269, @Lyndon-Li)
- Fix schedule controller to prevent backup queue accumulation during extended blocking scenarios by properly handling empty backup phases (#9264, @shubham-pampattiwar)
- Fix repository maintenance jobs to inherit allowlisted tolerations from Velero deployment (#9256, @shubham-pampattiwar)
- Implement wildcard namespace pattern expansion for backup namespace includes/excludes. This change adds support for wildcard patterns (*, ?, [abc], {a,b,c}) in namespace includes and excludes during backup operations (#9255, @Joeavaikath)
- Protect VolumeSnapshot field from race condition during multi-thread backup (#9248, @0xLeo258)
- Update AzureAD Microsoft Authentication Library to v1.5.0 (#9244, @priyansh17)
- Get pod list once per namespace in pvc IBA (#9226, @sseago)
- Fix issue #7725, add design for backup repo cache configuration (#9148, @Lyndon-Li)
- Fix issue #9229, don't attach backupPVC to the source node (#9233, @Lyndon-Li)
- feat: Permit specifying annotations for the BackupPVC (#9173, @clementnuss)
v1.18.0-rc.1
v1.18
Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.18.0-rc.1
Container Image
velero/velero:v1.18.0-rc.1
Documentation
Upgrading
https://velero.io/docs/v1.18/upgrade-to-1.18/
Highlights
Concurrent backup
In v1.18, Velero is capable to process multiple backups concurrently. This is a significant usability improvement, especially for multiple tenants or multiple users case, backups submitted from different users could run their backups simultaneously without interfering with each other.
Check design https://github.com/vmware-tanzu/velero/blob/main/design/Implemented/concurrent-backup-processing.md for more details.
Cache volume for data movers
In v1.18, Velero allows users to configure cache volumes for data mover pods during restore for CSI snapshot data movement and fs-backup. This brings below benefits:
- Solve the problem that data mover pods fail to when pod's ephemeral disk is limited
- Solve the problem that multiple data mover pods fail to run concurrently in one node when the node's ephemeral disk is limited
- Working together with backup repository's cache limit configuration, cache volume with appropriate size helps to improve the restore throughput
Check design https://github.com/vmware-tanzu/velero/blob/main/design/Implemented/backup-repo-cache-volume.md for more details.
Incremental size for data movers
In v1.18, Velero allows users to observe the incremental size of data movers backups for CSI snapshot data movement and fs-backup, so that users could visually see the data reduction due to incremental backup.
Wildcard support for namespaces
In v1.18, Velero allows to use Glob regular expressions for namespace filters during backup and restore, so that users could filter namespaces in a batch manner.
VolumePolicy for PVC phase
In v1.18, Velero VolumePolicy supports actions by PVC phase, which help users to do special operations for PVCs with a specific phase, e.g., skip PVCs in Pending/Lost status from the backup.
Scalability and Resiliency improvements
Prevent Velero server OOM Kill for large backup repositories
In v1.18, some backup repository operations are delay executed out of Velero server, so Velero server won't be OOM Killed.
Performance improvement for VolumePolicy
In v1.18, VolumePolicy is enhanced for large number of pods/PVCs so that the performance is significantly improved.
Events for data mover pod diagnostic
In v1.18, events are recorded into data mover pod diagnostic, which allows user to see more information for troubleshooting when the data mover pod fails.
Runtime and dependencies
Golang runtime: 1.25.7
kopia: 0.22.3
Limitations/Known issues
Breaking changes
Deprecation of PVC selected node feature
According to Velero deprecation policy, PVC selected node feature is deprecated in v1.18. Velero could appropriately handle PVC's selected-node annotation, so users don't need to do anything particularly.
All Changes
- Remove backup from running list when backup fails validation (#9498, @sseago)
- Maintenance Job only uses the first element of the LoadAffinity array (#9494, @blackpiglet)
- Fix issue #9478, add diagnose info on expose peek fails (#9481, @Lyndon-Li)
- Add Role, RoleBinding, ClusterRole, and ClusterRoleBinding in restore sequence. (#9474, @blackpiglet)
- Add maintenance job and data mover pod's labels and annotations setting. (#9452, @blackpiglet)
- Fix plugin init container names exceeding DNS-1123 limit (#9445, @mpryc)
- Add PVC-to-Pod cache to improve volume policy performance (#9441, @shubham-pampattiwar)
- Remove VolumeSnapshotClass from CSI B/R process. (#9431, @blackpiglet)
- Use hookIndex for recording multiple restore exec hooks. (#9366, @blackpiglet)
- Sanitize Azure HTTP responses in BSL status messages (#9321, @shubham-pampattiwar)
- Remove labels associated with previous backups (#9206, @Joeavaikath)
- Add VolumePolicy support for PVC Phase conditions to allow skipping Pending PVCs (#9166, @claude)
- feat: Enhance BackupStorageLocation with Secret-based CA certificate support (#9141, @kaovilai)
- Add
--applyflag toinstallcommand, allowing usage of Kubernetes apply to make changes to existing installs (#9132, @mjnagel) - Fix issue #9194, add doc for GOMAXPROCS behavior change (#9420, @Lyndon-Li)
- Apply volume policies to VolumeGroupSnapshot PVC filtering (#9419, @shubham-pampattiwar)
- Fix issue #9276, add doc for cache volume support (#9418, @Lyndon-Li)
- Add Prometheus metrics for maintenance jobs (#9414, @shubham-pampattiwar)
- Fix issue #9400, connect repo first time after creation so that init params could be written (#9407, @Lyndon-Li)
- Cache volume for PVR (#9397, @Lyndon-Li)
- Cache volume support for DataDownload (#9391, @Lyndon-Li)
- don't copy securitycontext from first container if configmap found (#9389, @sseago)
- Refactor repo provider interface for static configuration (#9379, @Lyndon-Li)
- Fix issue #9365, prevent fake completion notification due to multiple update of single PVR (#9375, @Lyndon-Li)
- Add cache volume configuration (#9370, @Lyndon-Li)
- Track actual resource names for GenerateName in restore status (#9368, @shubham-pampattiwar)
- Fix managed fields patch for resources using GenerateName (#9367, @shubham-pampattiwar)
- Support cache volume for generic restore exposer and pod volume exposer (#9362, @Lyndon-Li)
- Add incrementalSize to DU/PVB for reporting new/changed size (#9357, @sseago)
- Add snapshotSize for DataDownload, PodVolumeRestore (#9354, @Lyndon-Li)
- Add cache dir configuration for udmrepo (#9353, @Lyndon-Li)
- Fix the Job build error when BackupReposiotry name longer than 63. (#9350, @blackpiglet)
- Add cache configuration to VGDP (#9342, @Lyndon-Li)
- Fix issue #9332, add bytesDone for cache files (#9333, @Lyndon-Li)
- Fix typos in documentation (#9329, @T4iFooN-IX)
- Concurrent backup processing (#9307, @sseago)
- VerifyJSONConfigs verify every elements in Data. (#9302, @blackpiglet)
- Fix issue #9267, add events to data mover prepare diagnostic (#9296, @Lyndon-Li)
- Add option for privileged fs-backup pod (#9295, @sseago)
- Fix issue #9193, don't connect repo in repo controller (#9291, @Lyndon-Li)
- Implement concurrency control for cache of native VolumeSnapshotter plugin. (#9281, @0xLeo258)
- Fix issue #7904, remove the code and doc for PVC node selection (#9269, @Lyndon-Li)
- Fix schedule controller to prevent backup queue accumulation during extended blocking scenarios by properly handling empty backup phases (#9264, @shubham-pampattiwar)
- Fix repository maintenance jobs to inherit allowlisted tolerations from Velero deployment (#9256, @shubham-pampattiwar)
- Implement wildcard namespace pattern expansion for backup namespace includes/excludes. This change adds support for wildcard patterns (*, ?, [abc], {a,b,c}) in namespace includes and excludes during backup operations (#9255, @Joeavaikath)
- Protect VolumeSnapshot field from race condition during multi-thread backup (#9248, @0xLeo258)
- Update AzureAD Microsoft Authentication Library to v1.5.0 (#9244, @priyansh17)
- Get pod list once per namespace in pvc IBA (#9226, @sseago)
- Fix issue #7725, add design for backup repo cache configuration (#9148, @Lyndon-Li)
- Fix issue #9229, don't attach backupPVC to the source node (#9233, @Lyndon-Li)
- feat: Permit specifying annotations for the BackupPVC (#9173, @clementnuss)
v1.17.2
v1.17.2
Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.17.2
Container Image
velero/velero:v1.17.2
Documentation
Upgrading
https://velero.io/docs/v1.17/upgrade-to-1.17/
All Changes
- Track actual resource names for GenerateName in restore status (#9409, @shubham-pampattiwar)
- Fix managed fields patch for resources using GenerateName (#9408, @shubham-pampattiwar)
- don't copy securitycontext from first container if configmap found (#9394, @sseago)
- Add Role, RoleBinding, ClusterRole, and ClusterRoleBinding in restore sequence. (#9479, @blackpiglet)
v1.17.2-rc.2
v1.17.2
Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.17.2-rc.2
Container Image
velero/velero:v1.17.2-rc.2
Documentation
Upgrading
https://velero.io/docs/v1.17/upgrade-to-1.17/
All Changes
- Track actual resource names for GenerateName in restore status (#9409, @shubham-pampattiwar)
- Fix managed fields patch for resources using GenerateName (#9408, @shubham-pampattiwar)
- don't copy securitycontext from first container if configmap found (#9394, @sseago)
- Add Role, RoleBinding, ClusterRole, and ClusterRoleBinding in restore sequence. (#9479, @blackpiglet)
v1.17.2-rc.1
v1.17.2
Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.17.2-rc.1
Container Image
velero/velero:v1.17.2-rc.1
Documentation
Upgrading
https://velero.io/docs/v1.17/upgrade-to-1.17/
All Changes
- Track actual resource names for GenerateName in restore status (#9409, @shubham-pampattiwar)
- Fix managed fields patch for resources using GenerateName (#9408, @shubham-pampattiwar)
- don't copy securitycontext from first container if configmap found (#9394, @sseago)
v1.17.1
v1.17.1
Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.17.1
Container Image
velero/velero:v1.17.1
Documentation
Upgrading
https://velero.io/docs/v1.17/upgrade-to-1.17/
All Changes
- Fix issue #9365, prevent fake completion notification due to multiple update of single PVR (#9376, @Lyndon-Li)
- Fix issue #9332, add bytesDone for cache files (#9341, @Lyndon-Li)
- VerifyJSONConfigs verify every elements in Data. (#9303, @blackpiglet)
- Add option for privileged fs-backup pod (#9300, @sseago)
- Fix repository maintenance jobs to inherit allowlisted tolerations from Velero deployment (#9299, @shubham-pampattiwar)
- Fix issue #9229, don't attach backupPVC to the source node (#9297, @Lyndon-Li)
- Protect VolumeSnapshot field from race condition during multi-thread backup (#9292, @0xLeo258)
- Implement concurrency control for cache of native VolumeSnapshotter plugin. (#9290, @0xLeo258)
- Backport to 1.17 (PR#9244 Update AzureAD Microsoft Authentication Library to v1.5.0) (#9285, @priyansh17)
- Fix schedule controller to prevent backup queue accumulation during extended blocking scenarios by properly handling empty backup phases (#9277, @shubham-pampattiwar)
- Get pod list once per namespace in pvc IBA (#9266, @sseago)
- Update AzureAD Microsoft Authentication Library to v1.5.0 (#9244, @priyansh17)
- feat: Permit specifying annotations for the BackupPVC (#9173, @clementnuss)
v1.17.1-rc.1
v1.17.1
Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.17.1-rc.1
Container Image
velero/velero:v1.17.1-rc.1
Documentation
Upgrading
https://velero.io/docs/v1.17/upgrade-to-1.17/
All Changes
- Fix issue #9365, prevent fake completion notification due to multiple update of single PVR (#9376, @Lyndon-Li)
- Fix issue #9332, add bytesDone for cache files (#9341, @Lyndon-Li)
- VerifyJSONConfigs verify every elements in Data. (#9303, @blackpiglet)
- Add option for privileged fs-backup pod (#9300, @sseago)
- Fix repository maintenance jobs to inherit allowlisted tolerations from Velero deployment (#9299, @shubham-pampattiwar)
- Fix issue #9229, don't attach backupPVC to the source node (#9297, @Lyndon-Li)
- Protect VolumeSnapshot field from race condition during multi-thread backup (#9292, @0xLeo258)
- Implement concurrency control for cache of native VolumeSnapshotter plugin. (#9290, @0xLeo258)
- Backport to 1.17 (PR#9244 Update AzureAD Microsoft Authentication Library to v1.5.0) (#9285, @priyansh17)
- Fix schedule controller to prevent backup queue accumulation during extended blocking scenarios by properly handling empty backup phases (#9277, @shubham-pampattiwar)
- Get pod list once per namespace in pvc IBA (#9266, @sseago)
- Update AzureAD Microsoft Authentication Library to v1.5.0 (#9244, @priyansh17)
- feat: Permit specifying annotations for the BackupPVC (#9173, @clementnuss)
v1.17.0
v1.17
Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.17.0
Container Image
velero/velero:v1.17.0
Documentation
Upgrading
https://velero.io/docs/v1.17/upgrade-to-1.17/
Highlights
Modernized fs-backup
In v1.17, Velero fs-backup is modernized to the micro-service architecture, which brings below benefits:
- Many features that were absent to fs-backup are now available, i.e., load concurrency control, cancel, resume on restart, etc.
- fs-backup is more robust, the running backup/restore could survive from node-agent restart; and the resource allocation is in a more granular manner, the failure of one backup/restore won't impact others.
- The resource usage of node-agent is steady, especially, the node-agent pods won't request huge memory and hold it for a long time.
Check design https://github.com/vmware-tanzu/velero/tree/v1.17.0/design/Implemented/vgdp-micro-service-for-fs-backup/vgdp-micro-service-for-fs-backup.md for more details.
fs-backup support Windows cluster
In v1.17, Velero fs-backup supports to backup/restore Windows workloads. By leveraging the new micro-service architecture for fs-backup, data mover pods could run in Windows nodes and backup/restore Windows volumes. Together with CSI snapshot data movement for Windows which is delivered in 1.16, Velero now supports Windows workload backup/restore in full scenarios.
Check design https://github.com/vmware-tanzu/velero/tree/v1.17.0/design/Implemented/vgdp-micro-service-for-fs-backup/vgdp-micro-service-for-fs-backup.md for more details.
Volume group snapshot support
In v1.17, Velero supports volume group snapshots which is a beta feature in Kubernetes upstream, for both CSI snapshot backup and CSI snapshot data movement. This allows a snapshot to be taken from multiple volumes at the same point-in-time to achieve write order consistency, which is helpful to achieve better data consistency when multiple volumes being backed up are correlated.
Check the document https://velero.io/docs/v1.17/volume-group-snapshots/ for more details.
Priority class support
In v1.17, Kubernetes priority class is supported for all modules across Velero. Specifically, users are allowed to configure priority class to Velero server, node-agent, data mover pods, backup repository maintenance jobs separately.
Check design https://github.com/vmware-tanzu/velero/tree/v1.17.0/design/Implemented/priority-class-name-support_design.md for more details.
Scalability and Resiliency improvements of data movers
Reduce excessive number of data mover pods in Pending state
In v1.17, Velero allows users to set a PrepareQueueLength in the node-agent configuration, data mover pods and volumes out of this number won't be created until data path quota is available, so that excessive number cluster resources won't be taken unnecessarily, which is particularly helpful for large scale environments. This improvement applies to all kinds of data movements, including fs-backup and CSI snapshot data movement.
Check design https://github.com/vmware-tanzu/velero/tree/v1.17.0/design/Implemented/node-agent-load-soothing.md for more details.
Enhancement on node-agent restart handling for data movements
In v1.17, data movements in all phases could survive from node-agent restart and resume themselves; when a data movement gets orphaned in special cases, e.g., cluster node absent, it could also be canceled appropriately after the restart. This improvement applies to all kinds of data movements, including fs-backup and CSI snapshot data movement.
Check issue #8534 for more details.
CSI snapshot data movement restore node-selection and node-selection by storage class
In v1.17, CSI snapshot data movement restore acquires the same node-selection capability as backup, that is, users could specify which nodes can/cannot run data mover pods for both backup and restore now. And users are also allowed to configure the node-selection per storage class, which is particularly helpful to the environments where a storage class are not usable by all cluster nodes.
Check issue #8186 and #8223 for more details.
Include/exclude policy support for resource policy
In v1.17, Velero resource policy supports includeExcludePolicy besides the existing volumePolicy. This allows users to set include/exclude filters for resources in a resource policy configmap, so that these filters are reusable among multiple backups.
Check the document https://velero.io/docs/main/resource-filtering/#creating-resource-policies:~:text=resources%3D%22*%22-,Resource%20policies,-Velero%20provides%20resource for more details.
Runtime and dependencies
Golang runtime: 1.24.6
kopia: 0.21.1
Limitations/Known issues
Breaking changes
Deprecation of Restic
According to Velero deprecation policy, backup of fs-backup under Restic path is removed in v1.17, so --uploader-type=restic is not a valid installation configuration anymore. This means you cannot create a backup under Restic path, but you can still restore from the previous backups under Restic path until v1.19.
Repository maintenance job configurations are removed from Velero server parameter
Since the repository maintenance job configurations are moved to repository maintenance job configMap, in v1.17 below Velero sever parameters are removed:
- --keep-latest-maintenance-jobs
- --maintenance-job-cpu-request
- --maintenance-job-mem-request
- --maintenance-job-cpu-limit
- --maintenance-job-mem-limit
All Changes
- Add ConfigMap parameters validation for install CLI and server start. (#9200, @blackpiglet)
- Add priorityclasses to high priority restore list (#9175, @kaovilai)
- Introduced context-based logger for backend implementations (Azure, GCS, S3, and Filesystem) (#9168, @priyansh17)
- Fix issue #9140, add os=windows:NoSchedule toleration for Windows pods (#9165, @Lyndon-Li)
- Remove the repository maintenance job parameters from velero server. (#9147, @blackpiglet)
- Add include/exclude policy to resources policy (#9145, @reasonerjt)
- Add ConfigMap support for keepLatestMaintenanceJobs with CLI parameter fallback (#9135, @shubham-pampattiwar)
- Fix the dd and du's node affinity issue. (#9130, @blackpiglet)
- Remove the WaitUntilVSCHandleIsReady from vs BIA. (#9124, @blackpiglet)
- Add comprehensive Volume Group Snapshots documentation with workflow diagrams and examples (#9123, @shubham-pampattiwar)
- Fix issue #9065, add doc for node-agent prepare queue length (#9118, @Lyndon-Li)
- Fix issue #9095, update restore doc for PVC selected-node (#9117, @Lyndon-Li)
- Update CSI Snapshot Data Movement doc for issue #8534, #8185 (#9113, @Lyndon-Li)
- Fix issue #8986, refactor fs-backup doc after VGDP Micro Service for fs-backup (#9112, @Lyndon-Li)
- Return error if timeout when checking server version (#9111, @ywk253100)
- Update "Default Volumes to Fs Backup" to "File System Backup (Default)" (#9105, @shubham-pampattiwar)
- Fix issue #9077, don't block backup deletion on list VS error (#9100, @Lyndon-Li)
- Bump up Kopia to v0.21.1 (#9098, @Lyndon-Li)
- Add imagePullSecrets inheritance for VGDP pod and maintenance job. (#9096, @blackpiglet)
- Avoid checking the VS and VSC status in the backup finalizing phase. (#9092, @blackpiglet)
- Fix issue #9053, Always remove selected-node annotation during PVC restore when no node mapping exists. Breaking change: Previously, the annotation was preserved if the node existed. (#9076, @Lyndon-Li)
- Enable parameterized kubelet mount path during node-agent installation (#9074, @longxiucai)
- Fix issue #8857, support third party tolerations for data mover pods (#9072, @Lyndon-Li)
- Fix issue #8813, remove restic from the valid uploader type (#9069, @Lyndon-Li)
- Fix issue #8185, allow users to disable pod volume host path mount for node-agent (#9068, @Lyndon-Li)
- Fix #8344, add the design for a mechanism to soothe creation of data mover pods for DataUpload, DataDownload, PodVolumeBackup and PodVolumeRestore (#9067, @Lyndon-Li)
- Fix #8344, add a mechanism to soothe creation of data mover pods for DataUpload, DataDownload, PodVolumeBackup and PodVolumeRestore (#9064, @Lyndon-Li)
- Add Gauge metric for BSL availability (#9059, @reasonerjt)
- Fix missing defaultVolumesToFsBackup flag output in Velero describe backup cmd (#9056, @shubham-pampattiwar)
- Allow for proper tracking of multiple hooks per container (#9048, @sseago)
- Make the backup repository controller doesn't invalidate the BSL on restart (#9046, @blackpiglet)
- Removed username/password credential handling from newConfigCredential as azidentity.UsernamePasswordCredentialOptions is reported as deprecated. (#9041, @priyansh17)
- Remove dependency with VolumeSnapshotClass in DataUpload. (#9040, @blackpiglet)
- Fix issue #8961, cancel PVB/PVR on Velero server restart (#9031, @Lyndon-Li)
- Fix issue #8962, resume PVB/PVR during node-agent restarts (#9030, @Lyndon-Li)
- Bump kopia v0.20.1 (#9027, @Lyndon-Li)
- Fix issue #8965, support PVB/PVR's cancel state in the backup/restore (#9026, @Lyndon-Li)
- Fix Issue 8816 When specifying LabelSelector on restore, related items such as PVC and VolumeSnapshot are not included (#9024, @amastbau)
- Fix issue #8963, add legacy PVR controller for Restic path (#9022, @Lyndon-Li)
- Fix issue #89...
v1.17.0-rc.2
v1.17
Download
https://github.com/vmware-tanzu/velero/releases/tag/v1.17.0-rc.2
Container Image
velero/velero:v1.17.0-rc.2
Documentation
Upgrading
https://velero.io/docs/v1.17/upgrade-to-1.17/
Highlights
Modernized fs-backup
In v1.17, Velero fs-backup is modernized to the micro-service architecture, which brings below benefits:
- Many features that were absent to fs-backup are now available, i.e., load concurrency control, cancel, resume on restart, etc.
- fs-backup is more robust, the running backup/restore could survive from node-agent restart; and the resource allocation is in a more granular manner, the failure of one backup/restore won't impact others.
- The resource usage of node-agent is steady, especially, the node-agent pods won't request huge memory and hold it for a long time.
Check design https://github.com/vmware-tanzu/velero/blob/main/design/vgdp-micro-service-for-fs-backup/vgdp-micro-service-for-fs-backup.md for more details.
fs-backup support Windows cluster
In v1.17, Velero fs-backup supports to backup/restore Windows workloads. By leveraging the new micro-service architecture for fs-backup, data mover pods could run in Windows nodes and backup/restore Windows volumes. Together with CSI snapshot data movement for Windows which is delivered in 1.16, Velero now supports Windows workload backup/restore in full scenarios.
Check design https://github.com/vmware-tanzu/velero/blob/main/design/vgdp-micro-service-for-fs-backup/vgdp-micro-service-for-fs-backup.md for more details.
Volume group snapshot support
In v1.17, Velero supports volume group snapshots which is a beta feature in Kubernetes upstream, for both CSI snapshot backup and CSI snapshot data movement. This allows a snapshot to be taken from multiple volumes at the same point-in-time to achieve write order consistency, which is helpful to achieve better data consistency when multiple volumes being backed up are correlated.
Check the document https://velero.io/docs/main/volume-group-snapshots/ for more details.
Priority class support
In v1.17, Kubernetes priority class is supported for all modules across Velero. Specifically, users are allowed to configure priority class to Velero server, node-agent, data mover pods, backup repository maintenance jobs separately.
Check design https://github.com/vmware-tanzu/velero/blob/main/design/Implemented/priority-class-name-support_design.md for more details.
Scalability and Resiliency improvements of data movers
Reduce excessive number of data mover pods in Pending state
In v1.17, Velero allows users to set a PrepareQueueLength in the node-agent configuration, data mover pods and volumes out of this number won't be created until data path quota is available, so that excessive number cluster resources won't be taken unnecessarily, which is particularly helpful for large scale environments. This improvement applies to all kinds of data movements, including fs-backup and CSI snapshot data movement.
Check design https://github.com/vmware-tanzu/velero/blob/main/design/node-agent-load-soothing.md for more details.
Enhancement on node-agent restart handling for data movements
In v1.17, data movements in all phases could survive from node-agent restart and resume themselves; when a data movement gets orphaned in special cases, e.g., cluster node absent, it could also be canceled appropriately after the restart. This improvement applies to all kinds of data movements, including fs-backup and CSI snapshot data movement.
Check issue #8534 for more details.
CSI snapshot data movement restore node-selection and node-selection by storage class
In v1.17, CSI snapshot data movement restore acquires the same node-selection capability as backup, that is, users could specify which nodes can/cannot run data mover pods for both backup and restore now. And users are also allowed to configure the node-selection per storage class, which is particularly helpful to the environments where a storage class are not usable by all cluster nodes.
Check issue #8186 and #8223 for more details.
Include/exclude policy support for resource policy
In v1.17, Velero resource policy supports includeExcludePolicy besides the existing volumePolicy. This allows users to set include/exclude filters for resources in a resource policy configmap, so that these filters are reusable among multiple backups.
Check the document https://velero.io/docs/main/resource-filtering/#creating-resource-policies:~:text=resources%3D%22*%22-,Resource%20policies,-Velero%20provides%20resource for more details.
Runtime and dependencies
Golang runtime: 1.24.6
kopia: 0.21.1
Limitations/Known issues
Breaking changes
Deprecation of Restic
According to Velero deprecation policy, backup of fs-backup under Restic path is removed in v1.17, so --uploader-type=restic is not a valid installation configuration anymore. This means you cannot create a backup under Restic path, but you can still restore from the previous backups under Restic path until v1.19.
Repository maintenance job configurations are removed from Velero server parameter
Since the repository maintenance job configurations are moved to repository maintenance job configMap, in v1.17 below Velero sever parameters are removed:
- --keep-latest-maintenance-jobs
- --maintenance-job-cpu-request
- --maintenance-job-mem-request
- --maintenance-job-cpu-limit
- --maintenance-job-mem-limit
All Changes
- Add ConfigMap parameters validation for install CLI and server start. (#9200, @blackpiglet)
- Add priorityclasses to high priority restore list (#9175, @kaovilai)
- Introduced context-based logger for backend implementations (Azure, GCS, S3, and Filesystem) (#9168, @priyansh17)
- Fix issue #9140, add os=windows:NoSchedule toleration for Windows pods (#9165, @Lyndon-Li)
- Remove the repository maintenance job parameters from velero server. (#9147, @blackpiglet)
- Add include/exclude policy to resources policy (#9145, @reasonerjt)
- Add ConfigMap support for keepLatestMaintenanceJobs with CLI parameter fallback (#9135, @shubham-pampattiwar)
- Fix the dd and du's node affinity issue. (#9130, @blackpiglet)
- Remove the WaitUntilVSCHandleIsReady from vs BIA. (#9124, @blackpiglet)
- Add comprehensive Volume Group Snapshots documentation with workflow diagrams and examples (#9123, @shubham-pampattiwar)
- Fix issue #9065, add doc for node-agent prepare queue length (#9118, @Lyndon-Li)
- Fix issue #9095, update restore doc for PVC selected-node (#9117, @Lyndon-Li)
- Update CSI Snapshot Data Movement doc for issue #8534, #8185 (#9113, @Lyndon-Li)
- Fix issue #8986, refactor fs-backup doc after VGDP Micro Service for fs-backup (#9112, @Lyndon-Li)
- Return error if timeout when checking server version (#9111, @ywk253100)
- Update "Default Volumes to Fs Backup" to "File System Backup (Default)" (#9105, @shubham-pampattiwar)
- Fix issue #9077, don't block backup deletion on list VS error (#9100, @Lyndon-Li)
- Bump up Kopia to v0.21.1 (#9098, @Lyndon-Li)
- Add imagePullSecrets inheritance for VGDP pod and maintenance job. (#9096, @blackpiglet)
- Avoid checking the VS and VSC status in the backup finalizing phase. (#9092, @blackpiglet)
- Fix issue #9053, Always remove selected-node annotation during PVC restore when no node mapping exists. Breaking change: Previously, the annotation was preserved if the node existed. (#9076, @Lyndon-Li)
- Enable parameterized kubelet mount path during node-agent installation (#9074, @longxiucai)
- Fix issue #8857, support third party tolerations for data mover pods (#9072, @Lyndon-Li)
- Fix issue #8813, remove restic from the valid uploader type (#9069, @Lyndon-Li)
- Fix issue #8185, allow users to disable pod volume host path mount for node-agent (#9068, @Lyndon-Li)
- Fix #8344, add the design for a mechanism to soothe creation of data mover pods for DataUpload, DataDownload, PodVolumeBackup and PodVolumeRestore (#9067, @Lyndon-Li)
- Fix #8344, add a mechanism to soothe creation of data mover pods for DataUpload, DataDownload, PodVolumeBackup and PodVolumeRestore (#9064, @Lyndon-Li)
- Add Gauge metric for BSL availability (#9059, @reasonerjt)
- Fix missing defaultVolumesToFsBackup flag output in Velero describe backup cmd (#9056, @shubham-pampattiwar)
- Allow for proper tracking of multiple hooks per container (#9048, @sseago)
- Make the backup repository controller doesn't invalidate the BSL on restart (#9046, @blackpiglet)
- Removed username/password credential handling from newConfigCredential as azidentity.UsernamePasswordCredentialOptions is reported as deprecated. (#9041, @priyansh17)
- Remove dependency with VolumeSnapshotClass in DataUpload. (#9040, @blackpiglet)
- Fix issue #8961, cancel PVB/PVR on Velero server restart (#9031, @Lyndon-Li)
- Fix issue #8962, resume PVB/PVR during node-agent restarts (#9030, @Lyndon-Li)
- Bump kopia v0.20.1 (#9027, @Lyndon-Li)
- Fix issue #8965, support PVB/PVR's cancel state in the backup/restore (#9026, @Lyndon-Li)
- Fix Issue 8816 When specifying LabelSelector on restore, related items such as PVC and VolumeSnapshot are not included (#9024, @amastbau)
- Fix issue #8963, add legacy PVR controller for Restic path (#9022, @Lyndon-Li)
- Fix issue #8964, add Windows support for VGDP MS for fs...