Saltar al contenido
NyverraNyverra
⌘K
InicioArtículosSitio institucional
🇪🇸
Nyverra

Canal editorial

Artículos sobre tecnología, operaciones y partners — infraestructura, monitorización y entornos críticos.

Redes sociales

Explorar

  • Inicio
  • Artículos
  • Categorías
  • Etiquetas
  • Autores
  • Sobre
  • Contacto
  • RSS
  • Sitio institucional

Nyverra

  • Nuestros servicios
  • Casos de éxito
  • Socios

Contacto

Correo[email protected]WhatsApp(62) 99309-1592Portal del clienteITSM · tickets y SLA

Rua RB 18, S/N — Casa 01, Sala 01 · Residencial Buriti · Senador Canedo – GO, Brasil · CEP 75260-459

Horario: lun–vie, 08–18 h

© 2026 Nyverra. Todos los derechos reservados.

CNPJ: 61.571.209/0001-08 · Registro estatal: 20.291.265-5 · D-U-N-S®: 57-323-5796

blog.nyverra.com.br

Términos de usoPrivacidadCookies
Volver arriba

Un plan de DR no es un documento. Es un procedimiento que alguien ya ejecutó — con tiempo medido.

Último capítulo del curso: escenarios de desastre, el drill que prueba el restore y el capstone para cerrar todo.

Sello del curso: validado con drill de restore en 85 segundos y failover de Postgres real.

Qué es un desastre

No todo incidente es un desastre. La distinción importa porque la respuesta cambia:

Escenario Impacto Respuesta
Pod reinicia ninguno (HA) automático
Nodo cae carga redistribuye automático
Primario de la base de datos cae failover automático + validación
Namespace eliminado servicio fuera restore de objetos
Clúster perdido todo fuera rebuild + restore
Región/zona perdida todo fuera DR site
Datos corruptos pérdida parcial restore lógico con PITR

Los tres últimos exigen procedimiento escrito. Los tres primeros, automatización.

RPO y RTO por capa

Capa RPO RTO Mecanismo
etcd 24h 1–2h snapshot programado
Objetos del clúster 24h 1–4h Velero
Postgres minutos 30–60 min WAL + base backup
Dump lógico 24h 1h pg_dump
Object storage 24h horas replicación/backup
Configuración 0 minutos Git

Si el negocio exige RPO de 5 minutos y el backup es diario, el problema no es Kubernetes. Es el diseño.

Cuatro drills que valen la pena

1. Restore de namespace (Velero)

velero backup create drill-ns --include-namespaces portal --wait
velero restore create --from-backup drill-ns --namespace-mappings portal:drill
kubectl -n drill get all

Mide: tiempo del restore, pods listos, datos accesibles.

2. Restore lógico de la base de datos

pg_dump -Fc -h portal-postgres-rw -U portal -d portal -f /tmp/portal.dump
createdb -h portal-postgres-rw -U portal portal_drill
pg_restore -h portal-postgres-rw -U portal -d portal_drill /tmp/portal.dump
psql -h portal-postgres-rw -U portal -d portal_drill -c "select count(*) from tickets;"

Mide el tiempo y compara los conteos con producción.

3. Snapshot y restore de etcd

En un entorno descartable, restaura el snapshot y valida que la API responda con los objetos esperados. En HA, el procedimiento es quirúrgico: ten un runbook y ensaya.

4. Rebuild de un servicio desde cero

Elimina el Deployment y el Service, y reconstruye solo con Git + Helm/GitOps:

kubectl -n drill delete deploy portal-backend
argocd app sync portal-drill
kubectl -n drill rollout status deploy/portal-backend

Si esto no funciona, tu "backup" de configuración es ilusorio.

Runbook de DR: lo que debe estar escrito

  1. Quién decide declarar desastre y quién ejecuta.
  2. Cómo acceder al clúster/consola con credenciales que no están en el clúster.
  3. Orden de recuperación: red → storage → base de datos → apps → ingress.
  4. Comandos exactos, no "restaure el backup".
  5. Criterio de validación por etapa.
  6. Comunicación para usuarios y stakeholders.
  7. Cómo registrar el incidente y el tiempo de cada etapa.

Regla: el runbook tiene que ser ejecutable por alguien cansado a las 3 a.m., sin el autor original disponible.

Lo que derriba el DR en la práctica

  • Backup en el mismo storage del clúster.
  • Credencial de restore solo en la cabeza de una persona.
  • Snapshot que nunca fue restaurado.
  • DNS/TLS con validez corta no renovado en el entorno nuevo.
  • Imagen fuera del registry (build local).
  • Secret que no fue incluido en el backup.
  • Runbook desactualizado tras cambio de arquitectura.

Capstone

Objetivo: demostrar que puedes perder y recuperar el entorno.

Entregables:

  1. Inventario: aplicaciones, dependencias, datos y propietarios.
  2. Matriz RPO/RTO por servicio, acordada con el negocio.
  3. Backups automatizados: etcd, Velero, base de datos, object storage.
  4. Drill ejecutado con tiempos medidos y evidencia (logs, prints, conteos).
  5. Runbook de DR revisado por otra persona.
  6. Dashboard de SLO + panel de backups.
  7. Postmortem del drill: lo que falló en el ensayo.

Criterio de aceptación: restaurar el entorno en un entorno limpio, dentro del RTO declarado, con datos verificados.

Guion del drill completo

# 1. Estado inicial
kubectl -n portal get pods,pvc
psql -h portal-postgres-rw -U portal -d portal -c "select count(*) from tickets;"

# 2. Backup
velero backup create capstone --include-namespaces portal --wait
pg_dump -Fc -h portal-postgres-rw -U portal -d portal -f /tmp/capstone.dump

# 3. Destruir (entorno de prueba)
kubectl delete namespace portal-drill --ignore-not-found
kubectl create namespace portal-drill

# 4. Restaurar
velero restore create --from-backup capstone --namespace-mappings portal:portal-drill
pg_restore -h portal-postgres-rw -U portal -d portal_drill /tmp/capstone.dump

# 5. Validar
kubectl -n portal-drill get pods
psql -h portal-postgres-rw -U portal -d portal_drill -c "select count(*) from tickets;"

Cronometra cada etapa. El número que entra en el informe es el tiempo real, no el estimado.

Errores comunes

Síntoma Causa
Restore "ok" sin datos backup parcial/exclusiones
PVC no recreado storageClass ausente en el destino
App sube y no conecta secret/DNS no restaurado
RTO superado restore nunca medido
Backup corrupto storage sin verificación
Runbook inútil escrito por quien nunca ejecutó
Drill olvidado sin calendario y propietario

Checklist final del curso

  • [ ] Clúster HA con etcd, VIP y PDBs.
  • [ ] Workloads con probes, resources y HPA.
  • [ ] Storage, base de datos, colas, caché y búsqueda operados por operador.
  • [ ] Backup por capa y restore probado.
  • [ ] GitOps como fuente de verdad.
  • [ ] CI/CD con imagen inmutable, SBOM y firma.
  • [ ] RBAC, PSA y NetworkPolicy aplicados.
  • [ ] Capacidad medida con prueba de carga.
  • [ ] SLO, alertas por burn rate y on-call.
  • [ ] DR con RPO/RTO y drill ejecutado.

Glosario

  • RPO: pérdida máxima de datos aceptada.
  • RTO: tiempo máximo de recuperación.
  • drill: ensayo de recuperación.
  • PITR: point-in-time recovery.
  • runbook: procedimiento operacional.
  • capstone: proyecto final integrador.

Cierre

Empezaste con un clúster vacío y llegas aquí con: HA, datos, observabilidad, GitOps, seguridad, capacidad medida, SLO y un plan de recuperación probado.

Lo que separa un clúster que funciona de un clúster confiable no es la herramienta. Es tener procedimiento, medir y ensayar antes de necesitar.

Vuelve al índice del curso para revisar cualquier capítulo — y mantén los drills en el calendario. Confiabilidad es práctica, no certificado.

Próximo: revisita el Capítulo 19 — Backup y restore y ejecuta el drill de nuevo. Ahora con cronómetro.

Compartir

Seguir leyendo

Lea también

  • Manual LSI / Broadcom MegaRAID — MegaCli y StorCLI
    Armazenamento

    Manual LSI / Broadcom MegaRAID — MegaCli y StorCLI

    Con esta guía, su equipo gana autonomía para diagnosticar rebuilds, resolver foreign configurations, gestionar BBU y CacheCade — con escenarios reales de producción documentados.

    31 de outubro de 202620 min de leitura
  • Nginx Cheatsheet

    Nginx Cheatsheet

    Guía de bolsillo con ejemplos listos para configurar Nginx en producción: desde instalación y virtual hosts hasta ajuste de rendimiento y resolución de problemas.

    31 de outubro de 202612 min de leitura
  • Curso Kubernetes 27 — SLO/SLI, on-call y postmortem sin culpa
    Kubernetes

    Curso Kubernetes 27 — SLO/SLI, on-call y postmortem sin culpa

    Qué prometer, cómo medir y qué hacer cuando el error se dispara: SLI, SLO, presupuesto de error, alertas que despiertan a alguien y postmortem sin caza de brujas.

    31 de outubro de 20265 min de leitura

Comentarios

Aún sin comentarios

Sea el primero en compartir su opinión sobre este artículo.

Deje un comentario

Newsletter

Reciba nuevos artículos

Suscríbase para recibir publicaciones del blog Nyverra en su correo. Enviaremos un enlace de confirmación.

​
  1. Inicio
  2. Kubernetes
  3. Curso Kubernetes 28 — DR y capstone: demostrar que el clúster se recupera
Kubernetes
#Kubernetes#K8S#Curso Kubernetes#RTO#Disaster Recovery#RPO

Curso Kubernetes 28 — DR y capstone: demostrar que el clúster se recupera

Wedson LopesWedson Lopes
31 de outubro de 20265 min de leitura