Recuperación de desastres en clusters EKS usando Velero
- victoriagimenez5
- 16 abr
- 3 Min. de lectura

Introducción
Velero es una herramienta robusta para la recuperación de desastres en Kubernetes, que permite a los usuarios realizar copias de seguridad, migrar y restaurar aplicaciones y volúmenes persistentes. Esta entrada ofrece orientación sobre el uso de Velero como estrategia de recuperación ante desastres dentro de un clúster de Amazon EKS.
Objectivos
Los principales objetivos de implementar Velero para la recuperación de desastres son los siguientes:
Estrategias de Respaldo Eficientes: Aprovechar Velero para crear copias de seguridad periódicas de los recursos de su clúster EKS, asegurando una mínima pérdida de datos en caso de un desastre.
Programación Automatizada: Utilizar las programaciones de Velero para automatizar el proceso de respaldo, reduciendo la intervención manual y asegurando instantáneas regulares.
Operaciones de Restauración Sin Problemas: Desarrollar estrategias claras de restauración utilizando manifiestos de Velero, permitiendo un proceso de recuperación rápido y eficiente.
Consideraciones
Frecuencia del Respaldo: Determinar una frecuencia de respaldo apropiada según lo crítico que sean sus aplicaciones y datos.
Políticas de Retención: Definir políticas de retención para sus copias de seguridad para gestionar efectivamente los costos de almacenamiento.
Flujo de trabajo de respaldo y restauración
Velero consiste en dos componentes:
Un pod de servidor Velero que se ejecuta en su clúster de Amazon EKS.
Un cliente de línea de comando (Velero CLI) que se ejecuta localmente.

De manera similar, cada vez que emitimos una operación de restauración:
El Velero CLI hace una llamada a la API de Kubernetes para crear un CRD de restauración que restaurará desde un respaldo existente.
El controlador de restauración:
Valida el objeto CRD restaurado.
Realiza una llamada a Amazon S3 para recuperar los archivos de respaldo.
Inicia la operación de restauración.

Velero también realiza copias de seguridad y restauraciones de cualquier volumen persistente en el alcance:
Si está utilizando Amazon Elastic Block Store (Amazon EBS), Velero creará instantáneas de Amazon EBS de los volúmenes persistentes en el alcance.
Para cualquier otro tipo de volumen (excepto hostPath), utilice la integración de Restic de Velero para realizar copias de seguridad a nivel de archivo del contenido de sus volúmenes. Al momento de escribir, Restic está en Beta y, por lo tanto, no se recomienda para copias de seguridad en entornos de producción.
Pasos
1. Instalación de Velero
Puede seguir fácilmente la guía oficial para la instalación completa de Velero. Esta guía también describe la creación de los recursos necesarios que deben configurarse antes de configurar Velero.Guía de instalación de Velero Si te interesa, también puedes realizar esta instalación utilizando helm, que es otra opción que elige. (https://github.com/vmware-tanzu/helm-charts/blob/main/charts/velero/values.yaml). Recuerda crear los recursos necesarios de AWS antes de esta instalación.
2. Verifica recursos creados.
Después de la instalación y configuración exitosa, podemos verificar la creación exitosa de todos los recursos (Rol IAM, bucket S3) y que el pod de Velero se esté ejecutando correctamente.


Acá hay una lista con todos los verbos disponibles de Velero.

3. Programar Copias de Seguridad.
Cree un manifiesto de programación de Velero (schedule.yaml) para definir la frecuencia del respaldo y los namespaces incluidos. Ejemplo:
4. Restaurar desde el Respaldo.
En caso de un desastre, utilice un manifiesto de restauración de Velero (restore.yaml) para iniciar el proceso de recuperación. Ejemplo:
5. Validación.
Valide regularmente su estrategia de recuperación ante desastres simulando operaciones de restauración en un entorno que no sea de producción.

Martín Carletti
Cloud Engineer
Teracloud

Fabricio Blas
Cloud Engineer
Teracloud