top of page
Buscar

Recuperación de desastres en clusters EKS usando Velero

  • victoriagimenez5
  • 16 abr
  • 3 Min. de lectura


a-hand-helping-another


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.


backup-resource-workflow


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.

restore-resource-workflow


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.



contact-us-button


Pasos


1. Instalación de Velero

  1. 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.


successful-resource-creation-1

successful-resource-creation-2


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


available-verbs-of-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:

# File: schedule.yaml

apiVersion: velero.io/v1

kind: Schedule

metadata:

 name: daily-backup

 namespace: velero

spec:

 schedule: "@daily" or CronJob expressions

 template:

   includedNamespaces:

   - namespace1

   - namespace2

   snapshotVolumes: true


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:

# File: restore.yaml

apiVersion: velero.io/v1

kind: Restore

metadata:

 name: restore-from-backup

 namespace: velero

spec:

 backupName: daily-backup-2023-08-01T02:00:00Z

 restorePVs: true

 includedNamespaces:

 - namespace1

 - namespace2


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.



martin-carletti


Martín Carletti

Cloud Engineer

Teracloud





fabricio-blas



Fabricio Blas

Cloud Engineer

Teracloud





Si desea aprender más sobre computación en la nube, visite nuestro blog para obtener información de primera mano de nuestro equipo. Si necesita un equipo certificado por AWS para implementar, escalar o provisionar sus recursos de TI en la nube sin problemas, envíenos un mensaje here.

 
 
bottom of page