Backup et restauration avec Velero
Velero sauvegarde l'état d'un cluster Kubernetes (objets API + volumes persistants) et permet la restauration après incident ou la migration entre clusters. Un backup Velero capture le state déclaratif (les YAML de tous les objets) et les snapshots des PV via les APIs CSI ou les providers cloud.
Installation
# CLI velero
curl -L https://github.com/vmware-tanzu/velero/releases/download/v1.15.0/velero-v1.15.0-linux-amd64.tar.gz | tar -xz
mv velero-v1.15.0-linux-amd64/velero /usr/local/bin/
# Installation sur le cluster (exemple : S3-compatible backend)
velero install --provider aws --plugins velero/velero-plugin-for-aws:v1.10.0 --bucket my-velero-backups --secret-file ./credentials-velero --backup-location-config region=eu-west-3 --snapshot-location-config region=eu-west-3 --use-node-agent # Pour les backups de volumes via restic/kopia
# Vérifier
velero backup-location get# Backup manuel
velero backup create full-backup --include-namespaces '*'
# Backup d'un namespace
velero backup create prod-backup --include-namespaces production
# Statut
velero backup describe full-backup
velero backup logs full-backupPlanification automatique
# Backup quotidien à 2h, rétention 30 jours
velero schedule create daily-backup --schedule="0 2 * * *" --ttl 720h0m0s --include-namespaces production,staging
velero schedule getRestauration
# Lister les backups disponibles
velero backup get
# Restaurer un namespace entier
velero restore create --from-backup prod-backup --include-namespaces production
# Statut de la restauration
velero restore describe prod-backup-YYYYMMDD
velero restore logs prod-backup-YYYYMMDDSnapshots CSI
Velero supporte les snapshots de volumes via l'interface CSI (VolumeSnapshot). Le driver CSI doit implémenter les APIs de snapshot. Velero crée des VolumeSnapshot avant le backup, puis les restaure lors du restore. Plus fiable que le mécanisme restic/kopia pour les bases de données — à condition que le driver CSI supporte les snapshots cohérents.
velero install --features=EnableCSI --plugins velero/velero-plugin-for-csi:v0.7.0Migration entre clusters
Velero permet de migrer des applications entre clusters en partageant le même backend de stockage objet. Cluster A fait un backup, cluster B fait un restore. Les deux clusters doivent pointer vers le même bucket S3 (ou MinIO).