Protecting Oracle Kubernetes in the Cloud

Kasten by Veeam is excited to announce support for Oracle Cloud Infrastructure (OCI) and Oracle Kubernetes Engine (OKE). With Oracle’s recent release of their updated CSI Volume Plugin, which now supports Volume Snapshot capabilities, Kasten K10 by Veeam can backup, move, and restore workloads in a crash-consistent manner to OKE.

You can learn more about Kasten K10 and why cloud native backup and recovery is the best way to protect your Kubernetes data and application workloads by reading our blog, “6 Kubernetes Backup Best Practices.”

Installing Kasten K10 on Oracle Kubernetes Engine is straightforward:

Step 1: Deploy an OKE cluster with the following configuration:

Configuration Item

Value

Cluster Type

Enhanced

Kubernetes Version

v1.2x and above

Region

US East (Ashburn)

Node Type

Managed

Shape and Image

VM.Standard.E3.Flex

OCPUs

2

Amount of Memory (GB)

16

Image

Oracle Linux 8

Node Count

3

Once deployed, you can connect to the OKE cluster by updating your local kubeconfig or leverage Oracle’s Cloud Shell.

Step 2: Configure OCI Block Volume as the default storage class:

$ kubectl patch storageclass oci -p ‘{“metadata”: {“annotations”: {“storageclass.beta.kubernetes.io/is-default-class”:”false”}}}’

$ kubectl patch storageclass oci-bv -p ‘{“metadata”: {“annotations”:{“storageclass.kubernetes.io/is-default-class”:”true”}}}

Step 3: Configure Kubernetes External Snapshotter:

$ kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/master/client/config/crd/snapshot.storage.k8s.io_volumesnapshotclasses.yaml

$ kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/master/client/config/crd/snapshot.storage.k8s.io_volumesnapshotcontents.yaml

$ kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/master/client/config/crd/snapshot.storage.k8s.io_volumesnapshots.yaml

Step 4: Define a Volume Snapshot Class that leverages the blockvolume.csi.oraclecloud.com CSI Driver:

$ cat <<EOF | kubectl create -f –
apiVersion: snapshot.storage.k8s.io/v1

kind: VolumeSnapshotClass

metadata:

name: oci-bv-csi-snapclass

annotations:

   k10.kasten.io/is-snapshot-class: “true”

driver: blockvolume.csi.oraclecloud.com

deletionPolicy: Delete

EOF

Step 5: Deploy Kasten K10 via the helm command:

$ helm install k10 kasten/k10 –namespace=kasten-io –create-namespace –set externalGateway.create=true –set auth.basicAuth.enabled=true –set auth.basicAuth.htpasswd='<.htpasswd>’

Step 6: Find the external IP of the Kasten Dashboard by using kubectl to query the gateway-ext service in OKE:

$ kubectl get services gateway-ext -n kasten-io | awk {‘print $1″ ” $4″ “$5’} | column -t

NAME         EXTERNAL-IP   PORT(S)

gateway-ext <external ip> 80:31934/TCP

Navigate with your browser to http://<external_ip>/k10/#/dashboard:

Kasten K10 Dashboard

That’s it!

To learn more, check out Kasten K10 + Oracle Cloud Solution Brief and Oracle’s official documentation highlighting the blockvolume.csi.oraclecloud.com CSI driver.

 

Free
#1 Kubernetes Data Protection and Mobility
Exit mobile version