Como Configurar Repositorio NFS para Kasten K10

Una de las opciones que muchas empresas utilizan para alojar sus respaldos es NFS, en esta guia, revisaremos como configurar un Perfil de NFS para ser utilizado por Kasten K10, de acuerdo con las buenas prácticas que se indican en la documentacion de Kasten.

Documentación

Antes que nada siempre debemos revisar la documentacion de las tecnologias que usaremos para conseguir nuestro objetivo, en este caso utilizaremos Kasten K10 y NFS Subdir External Provisioner, la información oficial la puedes encontrar:

Requerimientos

Para la utilización de NFS como perfil en Kasten K10, cómo lo indica la documentacion, necesitaremos cumplir con lo siguiente:

  • Servicio NFS accesible desde todos los nodos donde se encuentre instalado K10
  • Una carpeta compartida via NFS, que sea posible montar en todos los nodos donde se encuentre instalado K10
  • Un PV que defina la carpeta compartida NFS
  • Un PVC con su respectivo StorageClassName para k10

Cumpliendo con los requerimientos anteriores tendremos configurado correctamente nuestro perfil NFS para alojar nuestros respaldos.

Configuracion Carpeta NFS

Como cualquier servidor NFS, es necesario crear una carpeta o utilizar una existente para alojar los respaldos, siempre con su respectiva configuración de acceso ya sea por autenticación o permitiendo los accesos por HOST en NFS, por ejemplo en mi QNAP he configurado lo siguiente:

Luego de tener esto configurado, pasaremos a la instalación y configuración del NFS Subdir External Provisioner

Instalación NFS Subdir External Provisioner

Nuevamente, de acuerdo a la documentacion de la solución, lo primero que debemos realizar, es la configuración del repositorio de helm, por tanto debemos ejecutar el siguiente comando:

helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/

Para luego realizar la configuración con helm y su respectiva información del servidor NFS a utilizar:

Validación de la instalación con:

kubectl get pods

Configuración StorageClass

Para cumplir con los requerimientos de Kasten K10, debemos tener un StorageClass, de hecho, al realizar la instalación y configuración con helm, el StorageClass es creado automáticamente:

kubectl get sc

Creación de Disco Persistente usando NFS

Ahora, ya que tenemos todo, debemos probar la creación de PVC utilizando nuestro nuevo StorageClass, para ello ejecutaremos lo siguiente (modificar tamaño y nombre si es necesario):

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: prueba-disco-nfs
spec:
  storageClassName: nfs-client
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 100Gi

Validar configuración en kubernetes y también en nuestra carpeta compartida NFS:

Ahora eliminaremos este disco para preparar un disco necesario para Kasten K10:

kubectl delete pvc prueba-disco-nfs

Ahora crearemos el disco necesario para Kasten K10 en su propio namespace, con el siguiente archivo:

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: repo-nfs-respaldos
  namespace: kasten-io
spec:
  storageClassName: nfs-client
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 100Gi

Si listamos los PVC sin namespace, veremos que no existe ninguno:

kubectl get pvc

Ahora, si listamos los PVC con el namespace kasten-io veremos nuestro nuevo disco:

kubectl get pvc -n kasten-io

Configuración perfil NFS Kasten K10

Ahora, entraremos a la consola de Kasten K10 en el cluster que configuramos nuestro NFS, ingresando el nombre del PVC:

Validamos la configuración:

Ahora probaremos un respaldo hacia este nuevo perfil de NFS para alojar los respaldos.

Prueba Ejecución Respaldo hacia NFS

Para esto, solo debemos crear alguna política de respaldo usando nuestro nuevo perfil:

Luego lo Ejecutamos y esperamos la finalización:

Validamos el respaldo en nuestro NFS:

Y por último una prueba de recuperación en otro namespace en este caso, nfspacman:

En el dashboard de Kasten k10 veremos:

Y en kubernetes:

Y por último la aplicación pacman funcionando como se espera:

 

Agregar un comentario

Tu dirección de correo electrónico no será publicada. Los campos requeridos están marcados *