DataExport
Subcommand for the command line client for Deckhouse.
Available Commands:
- create - Create k8s DataExport object.
Examples
create
d8 data create export-name pvc/test-pvc-name
create from a snapshot
- Enable snapshot-controller module
kubectl apply -f -<<EOF
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: snapshot-controller
spec:
enabled: true
version: 1
EOF
- Get a volume snapshot class name - this entity is created automatically for each type of CSI and is needed for creating a snapshot.
For example, "sds-local-volume-snapshot-class" as shown in the example below
kubectl get volumesnapshotclass
sds-local-volume-snapshot-class local.csi.storage.deckhouse.io Delete 22h
- Create a snapshot of a needed volume
kubectl apply -f -<<EOF
apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshot
metadata:
name: my-snapshot
namespace: <name of the namespace where the PVC is located>
spec:
volumeSnapshotClassName: <volume snapshot class name>
source:
persistentVolumeClaimName: <name of the PVC to snapshot>
EOF
- Check that snapshot is created normally and ready to use (usually takes a few minutes to be ready):
kubectl -n <name of the namespace> get volumesnapshot my-snapshot
NAMESPACE NAME READYTOUSE SOURCEPVC SOURCESNAPSHOTCONTENT RESTORESIZE SNAPSHOTCLASS SNAPSHOTCONTENT
<namespace> my-snapshot true test-pvc-for-snapshot 2Gi sds-local-volume-snapshot-class snapcontent-faf2ab1f-891d-4e5e-972c-334a490c99d8
- Create data export from that snapshot using d8 command as shown in the example below
d8 data create export-name snapshot/my-snapshot