Passer au contenu principal

Production (Kubernetes)

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-backup


Planification automatique

# Backup quotidien à 2h, rétention 30 jours
velero schedule create daily-backup   --schedule="0 2 * * *"   --ttl 720h0m0s   --include-namespaces production,staging

velero schedule get


Restauration

# 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-YYYYMMDD


Snapshots 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.0


Migration 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).


Sources