Murakami
Murakami

Reputation: 3760

K8s - Veeam Kasten - CSI Provisioner doesn't have VolumeSnapshotClass

I am a bit confused about how CSI should work in k8s.

What I would like to do is to setup Veeam Kasten backups in my k8s cluster. When I run precheck for Kasten installation - curl https://docs.kasten.io/tools/k10_primer.sh | bash it shows also the fallowing error:

  Missing/Failed to Fetch CSIDriver Object
  CSI Provisioner doesn't have VolumeSnapshotClass  -  Error

My cluster resides in Azure AKS. The storage classes I see are these:

NAME                    PROVISIONER                                     RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
azurefile               file.csi.azure.com                              Delete          Immediate              true                   19d
azurefile-csi           file.csi.azure.com                              Delete          Immediate              true                   88d
azurefile-csi-premium   file.csi.azure.com                              Delete          Immediate              true                   88d
azurefile-premium       file.csi.azure.com                              Delete          Immediate              true                   19d
default (default)       disk.csi.azure.com                              Delete          WaitForFirstConsumer   true                   88d
managed                 disk.csi.azure.com                              Delete          WaitForFirstConsumer   true                   19d
managed-csi             disk.csi.azure.com                              Delete          WaitForFirstConsumer   true                   88d
managed-csi-premium     disk.csi.azure.com                              Delete          WaitForFirstConsumer   true                   88d
managed-premium         disk.csi.azure.com                              Delete          WaitForFirstConsumer   true                   19d
nfs-client              cluster.local/nfs-subdir-external-provisioner   Delete          Immediate              true                   10d

I'm using mainly default storage class (my database is using that class and I really would like to back it up).

So I am using CSI provisioner. The error says it needs VolumeSnapshotClass. But should it be referenced in some other k8s object, like storage class? What I don't get is how it connects to each other.

Thank you for any clarifications.

[EDIT]

So I've added:

apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshotClass
driver: disk.csi.azure.com
metadata:
  annotations:
    k10.kasten.io/is-snapshot-class: "true"
  name: csi-azure-disk-snapclass
deletionPolicy: Retain

and CSI Provisioner doesn't have VolumeSnapshotClass - Error error disappeared. The only one which left is this one: Missing/Failed to Fetch CSIDriver Object

Upvotes: 0

Views: 1809

Answers (1)

Murakami
Murakami

Reputation: 3760

Answering my own question. I needed to add:

apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshotClass
driver: disk.csi.azure.com
metadata:
  annotations:
    k10.kasten.io/is-snapshot-class: "true"
  name: csi-azure-disk-snapclass
deletionPolicy: Retain

According to this blog https://blog.kasten.io/protect-cloud-native-applications-on-hpe-ezmeral-with-kasten-k10 Missing/Failed to Fetch CSIDriver Object can be ignored:

The Missing/Failed to Fetch CSIDriver Object error can be ignored, as not all the CSI implementations have CSIDriver Object

Upvotes: 1

Related Questions