update csi docs with implementation choices and known issues (#2469)
Signed-off-by: Ashish Amarnath <ashisham@vmware.com>pull/2491/head
parent
bfc6bd3587
commit
d10970b3db
|
@ -2,13 +2,26 @@
|
|||
|
||||
_This feature is under development. Documentation may not be up-to-date and features may not work as expected._
|
||||
|
||||
Velero supports taking Container Storage Interface (CSI) snapshots as a beta feature on clusters that meet the following prerequisites.
|
||||
# Prerequisites
|
||||
|
||||
The following are the prerequisites for using Velero to take Container Storage Interface (CSI) snapshots:
|
||||
|
||||
1. The cluster is Kubernetes version 1.17 or greater.
|
||||
1. The cluster is running a CSI driver capable of support volume snapshots at the [v1beta1 API level](https://kubernetes.io/blog/2019/12/09/kubernetes-1-17-feature-cis-volume-snapshot-beta/).
|
||||
1. The Velero server is running with the `--features EnableCSI` feature flag to enable CSI logic in Velero's core.
|
||||
1. The Velero [CSI plugin](https://github.com/vmware-tanzu/velero-plugin-for-csi/) is installed to integrate with the CSI volume snapshot APIs.
|
||||
1. When restoring CSI volumesnapshots across clusters, the name of the CSI driver in the destination cluster should be the same as that on the source cluster to ensure cross cluster portability of CSI volumesnapshots
|
||||
1. When restoring CSI volumesnapshots across clusters, the name of the CSI driver in the destination cluster is the same as that on the source cluster to ensure cross cluster portability of CSI volumesnapshots
|
||||
|
||||
# Implementation Choices
|
||||
|
||||
This section documents some of the choices made during implementation of the Velero [CSI plugin](https://github.com/vmware-tanzu/velero-plugin-for-csi/):
|
||||
|
||||
1. Volumesnapshots created by the plugin will be retained only for the lifetime of the backup even if the `DeletionPolicy` on the volumesnapshotclass is set to `Retain`. To accomplish this, during deletion of the backup the prior to deleting the volumesnapshot, volumesnapshotcontent object will be patched to set its `DeletionPolicy` to `Delete`. Thus deleting volumesnapshot object will result in cascade delete of the volumesnapshotcontent and the snapshot in the storage provider.
|
||||
1. Volumesnapshotcontent objects created during a velero backup that are dangling, unbound to a volumesnapshot object, will also be discovered, through labels, and deleted on backup deletion.
|
||||
|
||||
# Known Limitations
|
||||
|
||||
1. The Velero [CSI plugin](https://github.com/vmware-tanzu/velero-plugin-for-csi/), to backup CSI backed PVCs, will choose the first VolumeSnapshotClass in the cluster that has the same driver name. _[Issue #17](https://github.com/vmware-tanzu/velero-plugin-for-csi/issues/17)_
|
||||
|
||||
# Roadmap
|
||||
|
||||
|
|
|
@ -2,13 +2,26 @@
|
|||
|
||||
_This feature is under development. Documentation may not be up-to-date and features may not work as expected._
|
||||
|
||||
Velero supports taking Container Storage Interface (CSI) snapshots as a beta feature on clusters that meet the following prerequisites.
|
||||
# Prerequisites
|
||||
|
||||
The following are the prerequisites for using Velero to take Container Storage Interface (CSI) snapshots:
|
||||
|
||||
1. The cluster is Kubernetes version 1.17 or greater.
|
||||
1. The cluster is running a CSI driver capable of support volume snapshots at the [v1beta1 API level](https://kubernetes.io/blog/2019/12/09/kubernetes-1-17-feature-cis-volume-snapshot-beta/).
|
||||
1. The Velero server is running with the `--features EnableCSI` feature flag to enable CSI logic in Velero's core.
|
||||
1. The Velero [CSI plugin](https://github.com/vmware-tanzu/velero-plugin-for-csi/) is installed to integrate with the CSI volume snapshot APIs.
|
||||
1. When restoring CSI volumesnapshots across clusters, the name of the CSI driver in the destination cluster should be the same as that on the source cluster to ensure cross cluster portability of CSI volumesnapshots
|
||||
1. When restoring CSI volumesnapshots across clusters, the name of the CSI driver in the destination cluster is the same as that on the source cluster to ensure cross cluster portability of CSI volumesnapshots
|
||||
|
||||
# Implementation Choices
|
||||
|
||||
This section documents some of the choices made during implementation of the Velero [CSI plugin](https://github.com/vmware-tanzu/velero-plugin-for-csi/):
|
||||
|
||||
1. Volumesnapshots created by the plugin will be retained only for the lifetime of the backup even if the `DeletionPolicy` on the volumesnapshotclass is set to `Retain`. To accomplish this, during deletion of the backup the prior to deleting the volumesnapshot, volumesnapshotcontent object will be patched to set its `DeletionPolicy` to `Delete`. Thus deleting volumesnapshot object will result in cascade delete of the volumesnapshotcontent and the snapshot in the storage provider.
|
||||
1. Volumesnapshotcontent objects created during a velero backup that are dangling, unbound to a volumesnapshot object, will also be discovered, through labels, and deleted on backup deletion.
|
||||
|
||||
# Known Limitations
|
||||
|
||||
1. The Velero [CSI plugin](https://github.com/vmware-tanzu/velero-plugin-for-csi/), to backup CSI backed PVCs, will choose the first VolumeSnapshotClass in the cluster that has the same driver name. _[Issue #17](https://github.com/vmware-tanzu/velero-plugin-for-csi/issues/17)_
|
||||
|
||||
# Roadmap
|
||||
|
||||
|
|
Loading…
Reference in New Issue