EngineTutoriales

Backups de la Plataforma con Velero

Velero es una herramienta de código abierto que nos permite realizar backups, restaurar y migrar clústeres de una manera segura.

Imagen de https://velero.io

Configuración de almacenamiento: buckets de GCP

Existen diferentes proveedores de almacenamiento para integrar con Velero, como vSphere, Amazon Web Services (AWS) o Google Cloud Platform (GCP). En esta entrada, vamos a usar la configuración para GCP.

Lo primero que vamos a necesitar es crear un bucket storage para almacenar los backups de Velero:

BUCKET=stable-env-backup
gsutil mb gs://$BUCKET/

Una vez que tengamos el bucket de almacenamiento donde Velero almacenará los backups, podemos proceder a la configuración de la cuenta de servicio que Google necesita para darle permisos a dicho bucket.

gcloud iam service-accounts create velero --display-name "Velero service account"

Una vez que la hemos creado, asociaremos nuestro usuario con permisos de Google y le asignaremos los permisos necesarios sobre el bucket. Para terminar con el proceso de configuración antes de instalar, solo nos queda crear el fichero con formato JSON con las credenciales para acceder al bucket desde Velero.

Instalación de Velero

Será necesario que nos descarguemos los archivos binarios y mover el binario velero a la ruta:

/usr/local/bin

Para realizar la instalación de Velerol usaremos el siguiente comando, en el que indicamos el proveedor, el plugin necesario para con el proveedor, el bucket creado anteriormente y el fichero con las credenciales:

velero install \
--provider gcp \
--plugins velero/velero-plugin-for-gcp:v1.1.0 \
--bucket $BUCKET \
--secret-file ./credentials-velero

Ya podemos proceder a realizar el backup con un simple comando:

velero backup create backupmariadbha --include-namespaces mariadb-ha

A continuación podremos ver en nuestro bucket el backup:

También es interesante conocer que se pueden programar backups diarios o a cada minuto de la siguiente manera:

velero schedule create minute backup --schedule="@every 1m" --include-namespaces mariadb-ha

velero schedule create daily backup --schedule="@every 24h" --include-namespaces mariadb-ha

El siguiente paso será ver cómo borrar el namespace al completo, y comprobar que se ha eliminado y no tenemos ningún recurso:

Con esto, ya podemos proceder a realizar el restore del namespace al completo mediante el comando:

velero restore create --include-namespaces mariadb-ha --from-backup backupmariadbha

A continuación, veremos cómo se vuelve a crear el namespace al completo:

Como podemos ver, el procedimiento es algo sencillo y rápido de llevar a cabo. Si os surge algún problema o duda, dejadnos un comentario y os responderemos cuanto antes.

Imagen de cabecera: Tim Gouw en Unsplash.

✍🏻 Author(s)

Deja una respuesta

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