Backups Kubernetes con Velero: prueba la restauración
Velero puede ayudar a respaldar recursos Kubernetes y datos mediante mecanismos compatibles con tu almacenamiento. El diseño depende del proveedor, plugins, permisos y necesidades de la aplicación. No basta con ejecutar backup create y ver que existe un registro.
Utiliza un clúster de práctica y un destino protegido. Los backups pueden incluir secretos, configuraciones y datos personales.
Define las capas de recuperación
Los manifiestos describen objetos del clúster. Los volúmenes guardan datos. Una base puede necesitar un respaldo consistente de aplicación además de un snapshot.
etcd conserva estado del plano de control en clústeres que lo utilizan, pero no sustituye los datos de todos los volúmenes. En un servicio administrado como EKS, no asumas acceso al etcd del proveedor.
Instala versiones compatibles
Obtén Velero desde sus releases oficiales y verifica el archivo y arquitectura. Los nombres de assets incluyen versión; no inventes una URL genérica latest que puede no existir.
Consulta la matriz del plugin del proveedor. Configura bucket o destino, permisos y regiones según su documentación. Prefiere credenciales temporales o identidad de carga cuando el diseño lo permita.
La instalación es específica del entorno: debes terminarla antes de utilizar los comandos de este ejemplo.
Comprueba ubicaciones y alcance
velero version
velero backup-location get
kubectl -n velero get pods
Una ubicación disponible no demuestra que los snapshots o la copia de datos de todos los volúmenes estén configurados. Revisa el método elegido y sus limitaciones.
Respalda un namespace de práctica
velero backup create practica-uno --include-namespaces practica --wait
velero backup describe practica-uno --details
velero backup logs practica-uno
Revisa advertencias, fallos parciales y recursos incluidos. Un estado general no sustituye investigar un volumen omitido.
Antes de programar, crea datos de prueba que puedas comprobar después de recuperar. Una aplicación vacía demuestra poco sobre la utilidad del respaldo.
Restaura con otro nombre o en un entorno aislado
Velero ofrece mapeo de namespaces en restauraciones compatibles. Por ejemplo:
velero restore create prueba-restauracion \
--from-backup practica-uno \
--namespace-mappings practica:practica-restaurada
velero restore get
Revisa dependencias y colisiones de recursos de ámbito clúster. No uses la única instalación importante como destino de una prueba.
Comprueba acceso, permisos y datos. Deshabilita efectos externos de la copia, como pagos, correos o tareas que modifiquen otros sistemas.
Programación y retención
Define frecuencia según cuánto dato puedes perder y duración de recuperación aceptable. Vigila espacio, permisos y fallos del destino.
La retención debe conservar copias útiles y permitir cumplir políticas de datos. No elimines la última copia antes de comprobar otra.
Documenta y repite
Anota versiones, alcance, tiempo y problemas encontrados. Repite la prueba cuando cambies almacenamiento, proveedor o versión de la aplicación.
Preguntas frecuentes
¿Respaldar etcd recupera todas mis bases de datos?
No. Los datos de volúmenes y las necesidades de consistencia de aplicaciones requieren procedimientos adicionales.
¿Un snapshot siempre es consistente?
Depende de cómo se realiza y de la aplicación. Revisa quiescing, hooks o respaldos lógicos cuando correspondan.
¿Un backup Completed basta para estar tranquilo?
Es una señal que debes complementar con detalle, logs y una restauración funcional comprobada.
En pocas palabras
Un backup Kubernetes debe considerar manifiestos, volúmenes y consistencia de las aplicaciones. Un snapshot y un respaldo de etcd cubren partes diferentes y no son intercambiables.
Conclusión
Define qué necesitas recuperar y pruébalo en un entorno separado. Considera exitoso el proceso solo cuando la aplicación y sus datos cumplan las comprobaciones acordadas.
Para continuar, revisa Instalar Kubernetes en Ubuntu desde cero: guía completa y Docker: qué es y cómo usarlo para ejecutar contenedores.
