Hola a todos y bienvenidos nuevamente a este blog!!  En esta ocasion les quiero mostrar el proceso de habilitar el uso de snapshots en el CSI Driver que viene por defecto al desplegar un cluster AKS en Azure, lo cual necesitaremos luego para proteger Azure AKS con Kasten K10.

 

El Problema

Por defecto, cuando desplegamos un cluster AKS en Azure, se incluye un CSI Driver para Azure Disk y para Azure Files como vemos en la siguiente imagen:

El Azure Disk CSI driver, por defecto soporta la creacion de Snapshots para volumenes persistentes (PV), lo cual es un requisito indispensable si deseamos proteger nuestras aplicaciones y sus PVs utilizando Kasten K10 como solucion de backup.   Como parte de las operaciones de Snapshots, este driver puede realizar snapshots full e incrementales, dependiendo de los parametros utilizados durante la creacion del snapshot.  Para más detalles, pueden dirigirse al siguiente link: https://docs.microsoft.com/en-us/azure/aks/azure-disk-csi#volume-snapshots.

 

Ahora, si bien el CSI Driver viene habilitado por defecto, y además soporta la creación de Snapshots, cuando intentemos verificar los pre-requisitos para la instalación de Kasten K10 veremos el siguiente mensaje de error:

Copy to Clipboard

Este mensaje nos deja bastante claro cual es el problema, y es que si bien el CSI Driver soporta el uso de Snapshots, antes de ser capaces realmente de crear el Snapshot de un PV, necesitamos crear al menos un VolumeSnapshotClass en nuestro cluster de AKS.

Si instalamos Kasten en estas condiciones, e intentamos respaldar una App que utilice PVs, entonces veremos un error como el siguiente:

 

La Solución

La solución en si es bastante sencilla, y se divide en dos pasos principales.

El primer paso es la creación de un VolumeSnapshotClass utilizando un fichero YAML con los siguientes datos:

Copy to Clipboard

Luego simplemente creamos el VolumeSnapshotClass utilizando el fichero YAML creado previamente:

Copy to Clipboard

 

Luego podemos verificar que efectivamente tenemos el VolumeSnapshotClass creado como vemos en la siguiente imagen:

El segundo paso es crear una Annotation en nuestro VolumeSnapshotClass , para que Kasten pueda utilizarlo durante la verificación y durante las operaciones de backup:

Copy to Clipboard

 

Opcionalmente podemos crear un VolumeSnapshotClass adicional para el CSI Azure Files, según las instrucciones del siguiente link: https://docs.microsoft.com/en-us/azure/aks/azure-files-csi#create-a-custom-storage-class.

 

Probar la solución

Ahora que ya hemos creado los correspondientes VolumeSnapshotClass y sus Annotations, podemos probar nuevamente los pre-requisitos para Kasten K10:

Vemos que ambos CSI Drivers de Azure ahora cuentan con un respectivo VolumeSnapshotClass y las Annotations requeridas, por lo que estamos en condiciones de instalar y utilizar Kasten K10 en Azure.  Si probamos ahora respaldar la App que intentamos sin exito respaldar previamente, ahora vemos que la politica de respaldo funciona sin problemas, incluyendo el Snapshot de los PVs utilizados por la App.

 

 

Espero que les haya resultado util.  Nos vemos en otra ocasion!!!