Velero: backup e disaster recovery per Kubernetes

Velero (agosto 2017, Heptio, ora VMware) di Andy Goldstein: backup, restore, migration e DR di cluster Kubernetes. Backup di risorse API + persistent volumes, schedule cron, provider S3/GCS/Azure Blob. Standard Kubernetes backup.

Open Source VeleroHeptioVMwareKubernetesBackupDisaster RecoveryOpen Source

Backup Kubernetes: non solo volumi

Un cluster Kubernetes ha due assi di stato da proteggere:

  • Risorse API — Deployment, Service, ConfigMap, Secret, CRD, namespace
  • Persistent Volumes — dati applicativi (database, file)

Tool tradizionali (etcdctl snapshot) salvano etcd ma non i PV; snapshot cloud-provider salvano volumi ma non il contesto K8s. Serve un tool che fa entrambi e orchestra il restore coerente.

Il rilascio

Velero è pubblicato da Heptio (Craig McLuckie, Joe Beda, cofounder Kubernetes) nell’agosto 2017 con nome originale “Ark”. Rinominato Velero con la release v0.11.0 del 28 febbraio 2019, dopo l’acquisizione Heptio da VMware (dicembre 2018). Scritto in Go, licenza Apache 2.0.

Caratteristiche

  • Backup on-demand e scheduled (cron)
  • Namespace filtering — backup selettivo di risorse
  • Label selector — backup solo di risorse etichettate
  • Volume snapshot — via CSI o plugin-specific (AWS EBS, Azure Disk, GCP PD)
  • Restic/Kopia integration — backup file-level quando CSI non supporta
  • Object storage — S3, GCS, Azure Blob, MinIO compatibile
  • Hooks — pre/post backup per consistenza applicativa (es. fsfreeze PostgreSQL)
  • Cross-cluster restore — migration tra cluster
velero backup create daily-$(date +%Y%m%d) \
  --include-namespaces prod,staging \
  --snapshot-volumes \
  --ttl 720h

Casi d’uso

  • Disaster Recovery — restore completo in nuovo cluster dopo perdita
  • Cluster migration — da on-prem a cloud, da un cloud all’altro
  • Upgrade Kubernetes — backup pre-upgrade per sicurezza
  • Dev/staging refresh — clone produzione anonimizzata
  • Compliance — retention backup (GDPR, ISO 27001, sanità)

Alternative

  • Kasten K10 (Veeam) — commerciale, UI ricca
  • Portworx PX-Backup (Pure Storage) — commerciale
  • Trilio — enterprise
  • Stash (AppsCode) — OSS simile
  • CSI VolumeSnapshot nativo — senza backup risorse API
  • etcdctl snapshot — solo etcd, no PV

Plugin ecosystem

Plugin per provider storage e cloud:

  • AWS, Azure, GCP ufficiali
  • vSphere, OpenStack
  • MinIO, Ceph RGW compatibili S3
  • Plugin community per backend custom

Nel contesto italiano

Velero è adottato in:

  • Banche e assicurazioni — DR obbligatorio per K8s produzione
  • PA digitale — progetti con requisiti backup regolamentari
  • Sanità digitale — FSE regionali con retention storica
  • Hosting provider italiani — K8s-as-a-Service multi-cliente
  • MSP — managed backup per clienti con K8s

Spesso integrato con MinIO on-prem come backend S3-compatible per evitare cloud egress.


Riferimenti: Velero (Heptio, agosto 2017, originale “Ark”). Andy Goldstein. Rinominato v0.11.0 del 28 febbraio 2019 (VMware). Licenza Apache 2.0. Scritto in Go. Backup risorse API + PV. Restic/Kopia integration.

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi