Hola a todos!!  En otros posts hemos visto como instalar Kasten en multiples plataformas, incluyendo RedHat OpenShift, AWS EKS, Azure AKS y Google Cloud GKE entre otros, y usualmente los ejemplos de configuración los hemos llevado a cabo utilizando Object Storage al momento de configurar un Location Profile (repositorio).   Al momento de configurar un Location Profile, podemos ver que tenemos distintas opciones:

  • Object Storage, ya sea AWS S3, Azure Blob, Google Cloud Storage or cualquier solución S3 compatible.
  • NFS File Storage, ya sea utilizando un File Share on-premises, o un servicio gestionado en un cloud provider.
  • Veeam Backup Repository

En esta ocasión, veremos como crear un Location Profile utilizando un NFS Share basado en Google Cloud Filesatore.

Requisitos

Como minimo necesitamos lo siguiente:

  • 1 cluster de Kubernetes desplegado sobre Google Cloud GKE.
  • Kasten ya instalado sobre el cluster GKE
  • Las API de Cloud Filestore y de Google Kubernetes Engine deben estar habilitadas.

 

Habilitar el Filestore CSI Driver en el cluster GKE

Para habilitar el Filestore CSI Driver en un cluster GKE existente, debemos ejecutar el siguiente comando:

Copy to Clipboard

 

Este proceso tomará algunos minutos, luego de lo cual podemos ver que existen nuevos Storage Classes instalados en el cluster de Kubernetes:

  • enterprise-rwx, usando el Enterprise Filestore tier, donde cada Kubernetes PersistentVolume está asociado a una instancia Filestore.
  • enterprise-multishare-rwx, usando el Enterprise Filestore tier, donde cada Kubernetes PersistentVolume está asociado a un share de uns instancia Filestore.
  • standard-rwx, usando el tier de servicio Basic HDD Filestore.
  • premium-rwx, usando el tier de servicio Basic SSD Filestore.

Opcional: Crear un Storage Class personalizado

Opcionalmente, podemos crear un Storage Class personalizado según nuestras necesidades o utilizar alguno de los mencionados previamente.  Por ejemplo, en este caso he creado un StorageClass configurando el volumeBindingMode en modo “Inmediate” en vez de el valor por defecto “WaitForFirstCustomer”.  Esto es posible gracias que las instancias de Google Cloud Filestore son accesibles desde cualquier zona, por lo que no es necesario esperar a que un Pod sea creado para saber su ubicacion/zona.

Copy to Clipboard

 

Crear un Private Volume Claim (PVC)

Para poder configurar un File Share como Location Profile en Kasten, es necesario proveer el nombre de un PVC con acceso al File Share, en este caso con acceso al servicio FileStore.  Por lo tanto, el siguiente paso será crear un PVC como el que vemos a continuación:

Copy to Clipboard

NOTA: El PVC debe ser creado en el mismo Namespace donde se ha instalado Kasten, y utilizar el Storage Class que se ajuste a nuestras necesidades.

Una vez creado el PVC, veremos un nuevo PersistentVolume creado en Kubernetes, y adicionalmente una nueva instancia de Filestore en Google Cloud, que representa el servidor NFS que utilizaremos:

 

 

 

Crear un Location Profile en Kasten

Por ultimo, ya estamos en condiciones para poder añadir un nuevo Location Profile de tipo NFS FileStore en Kasten.  Para esto, como vemos en la siguiente imagen, indicamos:

  • El nombre del Location Profile: En mi caso, pcerda-gpc-filestore
  • El tipo de Location Profile: NFS FileStore
  • El nombre del PVC que hemos creado en el paso anterior: kasten-nfs

 

Hacemos click en Save Profile, y ya tenemos creado el Location Profile utilizando un NFS Share de Google Cloud FileStore.

 

Pues como vemos, es un proceso bastante sencillo, y nos entrega otra opción de almacenamiento para nuestros respaldos de Kubernetes utilizando Kasten K10.  Nos vemos en otra ocasión!!!