You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// Snapshotter is the driver expected to handle this SnapshotClass.
250
251
// This value may not be empty.
@@ -328,19 +329,11 @@ Refer to [Container Storage Interface (CSI)](https://github.com/container-storag
328
329
329
330
## Transition to the New Snapshot Support
330
331
331
-
To use the snapshot implementation in [external storage repo](https://github.com/kubernetes-incubator/external-storage/tree/master/snapshot), an external snapshot controller and external provisioner need to bedeployed.
332
-
333
-
To use the new snapshot implementation for CSI, a sidecar container for the external snapshot controller needs to be deployed in addition to the sidecar container for the external provisioner.
334
-
335
-
The differences between the two are as follows from a user's point of view:
332
+
### Existing Implementation in External Storage Repo
336
333
337
-
New Design
338
-
* Supports CSI volume drivers.
339
-
* To create a snapshot for CSI, a SnapshotClass can be created and specified in the spec of VolumeSnapshot.
340
-
* To restore a volume from the snapshot, user should use the same StorageClass that is used for the original PVC.
334
+
For the snapshot implementation in [external storage repo](https://github.com/kubernetes-incubator/external-storage/tree/master/snapshot), an external snapshot controller and an external provisioner need to be deployed.
341
335
342
-
Old Design
343
-
* Does not support CSI volume drivers.
336
+
* The old implementation does not support CSI volume drivers.
344
337
* SnapshotClass is not needed to create a snapshot and this concept does not exist in the old design.
345
338
* To restore a volume from the snapshot, however, user needs to create a new StorageClass that is different from the original one for the PVC.
346
339
@@ -357,7 +350,15 @@ spec:
357
350
358
351
```
359
352
360
-
Here is an example to create a SnapshotClass and create a snapshot in the new design:
353
+
### New Snapshot Design for CSI
354
+
355
+
For the new snapshot model, a sidecar "Kubernetes to CSI" proxy container called "external-snapshotter" needs to be deployed in addition to the sidecar container for the external provisioner. This deployment model is shown in the CSI Snapshot Diagram in the CSI External Snapshot Controller section.
356
+
357
+
* The new design supports CSI volume drivers.
358
+
* To create a snapshot for CSI, a SnapshotClass can be created and specified in the spec of VolumeSnapshot.
359
+
* To restore a volume from the snapshot, user should use the same StorageClass that is used for the original PVC.
360
+
361
+
Here is an example to create a SnapshotClass and to create a snapshot in the new design:
361
362
362
363
```GO
363
364
@@ -366,7 +367,7 @@ kind: SnapshotClass
366
367
metadata:
367
368
name: csi-hostpath-snapclass
368
369
snapshotter: csi-hostpath
369
-
370
+
---
370
371
apiVersion: volumesnapshot.csi.k8s.io/v1alpha1
371
372
kind: VolumeSnapshot
372
373
metadata:
@@ -377,4 +378,4 @@ spec:
377
378
378
379
```
379
380
380
-
To transition from the old to the new snapshot support, user needs to deploy the CSI external snapshot controller as a side car container along with the external provisioner and use the new definitions for the SnapshotClass, VolumeSnapshot, and PVC yaml files.
381
+
To transition from the old model to the new model, user needs to stop using the old deployment, and follow the new design to deploy the snapshot controller and create VolumeSnapshots.
0 commit comments