EBS CSI Driver enables the creation & attachment of EBS volumes & snapshots via AWS API integration with the EC2 service
- The
ebs-csStorageClass will be configured with the VolumeType and set as the default StorageClass (you may override it with other CSIs) - The snapshotting abilities will be configured with the
ebs-vscVolumeSnapshotClass (including the Kasten-ready annotation for seamless operability)
- Ensure Helm is installed and the kubectl context is correctly pointing to the relevant Kubernetes cluster
- The below
EBS_ALIASshould refer to the zCompute VolumeType- Usually the default VolumeType will be
gp2but that may change based on your zCompute cluster settings and/or preferences - For a list of available VolumeType alternatives consult with your cloud admin or run the below Symp command:
volume volume-types list -c name -c alias -c operational_state -c health -m grep=ProvisioningEnabled - Note the value must be one of: io1 / io2 / gp2 / gp3 / sc1 / st1 / standard / sbp1 / sbg1
- Usually the default VolumeType will be
- Run the below code snippet to create the values file and run the Helm installation:
kubectl apply -n kube-system -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/master/client/config/crd/snapshot.storage.k8s.io_volumesnapshotclasses.yaml kubectl apply -n kube-system -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/master/client/config/crd/snapshot.storage.k8s.io_volumesnapshotcontents.yaml kubectl apply -n kube-system -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/master/client/config/crd/snapshot.storage.k8s.io_volumesnapshots.yaml kubectl apply -n kube-system -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/master/client/config/crd/groupsnapshot.storage.k8s.io_volumegroupsnapshotclasses.yaml kubectl apply -n kube-system -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/master/client/config/crd/groupsnapshot.storage.k8s.io_volumegroupsnapshotcontents.yaml kubectl apply -n kube-system -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/master/client/config/crd/groupsnapshot.storage.k8s.io_volumegroupsnapshots.yaml kubectl apply -n kube-system -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/master/deploy/kubernetes/snapshot-controller/rbac-snapshot-controller.yaml kubectl apply -n kube-system -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/master/deploy/kubernetes/snapshot-controller/setup-snapshot-controller.yaml helm repo add aws-ebs-csi-driver https://kubernetes-sigs.github.io/aws-ebs-csi-driver helm repo update cat <<EOF | tee values.yaml controller: region: 'us-east-1' sidecars: provisioner: additionalArgs: - --timeout=60s - --retry-interval-start=4s attacher: additionalArgs: - --timeout=60s - --retry-interval-start=4s storageClasses: - name: ebs-sc annotations: storageclass.kubernetes.io/is-default-class: "true" parameters: type: <EBS_ALIAS> volumeSnapshotClasses: - name: ebs-vsc annotations: snapshot.storage.kubernetes.io/is-default-class: "true" k10.kasten.io/is-snapshot-class: "true" deletionPolicy: Delete EOF helm install aws-ebs-csi-driver aws-ebs-csi-driver/aws-ebs-csi-driver --namespace=kube-system --values values.yaml