Skip to main content

How can we help you?

Druva Documentation

Prerequisites

Before you Begin

  • Install kubectl (v 1.19-1.21), the Kubernetes command-line tool.

  • Install Helm (v 3.6.0), the package manager for Kubernetes.

  • Install AWS Command Line Interface (AWS CLI), a unified tool to manage your AWS services.

  • Generate the IAM keys from your AWS Management Console and configure them. IAM users will need the requisite permissions.

Install CSI External-Snapshotter

The CSI external-snapshotter is part of Kubernetes implementation of Container Storage Interface. It is a sidecar that watches the Kubernetes API server for VolumeSnapshot and VolumeSnapshotContent CRD objects and triggers the snapshot creation and deletion against a CSI endpoint.

To install the CSI external-snapshotter, run the following command:

export SNAPSHOTTER_VERSION=v4.1.0
kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/${SNAPSHOTTER_VERSION}/client/config/crd/snapshot.storage.k8s.io_volumesnapshotclasses.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/${SNAPSHOTTER_VERSION}/client/config/crd/snapshot.storage.k8s.io_volumesnapshotcontents.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/${SNAPSHOTTER_VERSION}/client/config/crd/snapshot.storage.k8s.io_volumesnapshots.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/${SNAPSHOTTER_VERSION}/deploy/kubernetes/snapshot-controller/rbac-snapshot-controller.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/${SNAPSHOTTER_VERSION}/deploy/kubernetes/snapshot-controller/setup-snapshot-controller.yaml

For more information, see CSI external-snapshotter.

Note: Ensure that the CSI external-snapshotter is installed prior to the Amazon EBS CSI driver. Installation in this sequence avoids potential backup job errors, where backups of stateful application containers are unsuccessful. For more information, see Backup Errors.

Install CSI Driver for Amazon EBS

Druva Controller supports volumes provisioned by the CSI driver for Amazon EBS. To install Amazon EBS CSI driver:

1. Add the aws-ebs-csi-driver helm repository:

helm repo add aws-ebs-csi-driver https://kubernetes-sigs.github.io/aws-ebs-csi-driver

2. Update the available charts:

helm repo update

3. Install the CSI driver (aws-ebs-csi-driver)

helm upgrade --install aws-ebs-csi-driver \
--namespace kube-system \
--set enableVolumeScheduling=true \
--set enableVolumeResizing=true \
--set enableVolumeSnapshot=true \
    aws-ebs-csi-driver/aws-ebs-csi-driver

For more information, see Amazon EBS CSI driver.

Git: https://github.com/kubernetes-sigs/aws-ebs-csi-driver

Note: Ensure that the Amazon EBS CSI driver is installed prior to triggering a backup. If the EBS volumes or the PVCs are selected for backup with no CSI driver plug-in, Druva Backup Operator backs up only the metadata and catalog. In other words, no snapshot is generated, and only the metadata is uploaded to the S3 bucket and the CloudRanger Backup Store.

Install cert-manager

Install cert-manager, the certificate management for Kubernetes. which manages certificates and certificate issuers as resource types in Kubernetes clusters, thus simplifying the process of obtaining, renewing, and using certificates.

Note:  To verify cert-manager compatibility with your cluster, please see Supported Releases.

To install cert-manager, run the following command:

helm upgrade --install cert-manager jetstack/cert-manager \
  --namespace cert-manager --create-namespace \
  --set webhook.hostNetwork=true,webhook.securePort=10260 \
  --set installCRDs=true \
  --version v1.1.0

Install Service Catalog

Service Catalog is an extension API that enables applications running in Kubernetes clusters to communicate with service brokers, acting as an intermediary for the Kubernetes API Server to provision and retrieve credentials necessary for the application to use a managed service.

To install Service Catalog, run the following command:

helm repo add drycc https://charts.drycc.cc/stable
helm upgrade ––install service drycc/catalog \
--namespace service-catalog --create-namespace \
--version v0.3.1