Deploy Snapshot Controller¶
This guide will walk you through deploying the Snapshot Controller and the
v1beta1 Volume Snapshot CRDs.
When Volume Snapshot got promoted to Beta in Kubernetes 1.17, the CSI
external-snapshotter sidecar got split into two controllers: a
snapshot-controller and a CSI
The Snapshot Controller watches the Kubernetes API server for
VolumeSnapshotContent CR objects. The CSI
external-snapshotter sidecar only watches the Kubernetes API server for
VolumeSnapshotContent CR objects. The Snapshot Controller creates the
VolumeSnapshotContent CR object which triggers the CSI
external-snapshotter sidecar to create a snapshot on the storage system.
Moreover, in Alpha version, the
VolumeSnapshotClass CRDs used to be created by the
external-snapshotter sidecar. In Beta, these CRDs must be deployed by
applying manifests, for cloud providers that don’t ship with the CRDs
If you have already deployed the Snapshot Controller and the
Volume Snapshot CRDs, expand this box to fast-forward.
Go to your GitOps repository, inside your
rok-toolsmanagement environment:root@rok-tools:~# cd ~/ops/deployments
Save your state:root@rok-tools:~/ops/deployments# rok-j2 deploy/env.snapshotcontroller.j2 \ > -o deploy/env.snapshotcontroller
Commit your changes:root@rok-tools:~/ops/deployments# git commit -am "Deploy Snapshot Controller"
Proceed to the Verify section.
Choose one of the following options to deploy the Snapshot Controller and the
v1beta1 Volume Snapshot CRDs:
- Option 1: Deploy Snapshot Controller Automatically (preferred).
- Option 2: Deploy Snapshot Controller Manually.
Choose one of the following options, based on your cloud provider.
If you want to deploy the Snapshot Controller and the
Snapshot CRDs manually, follow the instructions below.
You have successfully deployed the Snapshot Controller and the
Volume Snapshot CRDs on your cluster.