Backup & Restore
Skipper includes automatic backup and restore powered by Velero. Every cluster gets daily backups of all Kubernetes resources and persistent volume data (databases, file storage) out of the box.
Backups are stored in an in-cluster MinIO instance with Longhorn-backed storage. No external cloud account required.
Automatic backups
A daily backup runs at 3:00 AM and is retained for 7 days. This is configured during kip install and runs automatically.
bash
kip backup schedules NAME SCHEDULE STATUS LAST BACKUP
daily-full 0 3 * * * Enabled 2026-03-18T03:00:00ZManual backups
Back up everything
bash
kip backup createBack up a specific project
bash
kip backup create --project yourr-name --environment testBack up with a custom name
bash
kip backup create pre-migration --project yourr-nameList backups
bash
kip backup list NAME STATUS NAMESPACES CREATED
daily-full-20260318030000 Completed all 2026-03-18 03:00
pre-migration Completed yourr-name-test 2026-03-18 14:30
manual-20260318-153000 Completed all 2026-03-18 15:30Restoring from a backup
Restore to the same namespace
bash
kip backup restore pre-migrationRestore to a different namespace
Useful for testing a restore without affecting the live environment:
bash
kip backup restore pre-migration --namespace-mapping yourr-name-test:yourr-name-restoredWhat gets backed up
| Resource | Backed up? | How |
|---|---|---|
| Deployments, Services, Ingresses | Yes | Kubernetes resource definitions |
| ConfigMaps, Secrets | Yes | Kubernetes resource definitions |
| Environment variables and app secrets | Yes | Stored as Kubernetes Secrets |
| PostgreSQL data | Yes | PVC data via Kopia file-system backup |
| Redis data | Yes | PVC data via Kopia file-system backup |
| Longhorn volumes | Yes | Full file-system backup of volume contents |
Architecture
- Velero orchestrates backups and restores
- Node Agent (DaemonSet) reads actual file data from persistent volumes using Kopia
- MinIO provides S3-compatible storage inside the cluster
- Longhorn provides durable storage for MinIO itself
Retention
Default retention is 7 days (168h). To create a backup with custom retention:
bash
kip backup create --ttl 720h # 30 daysLimitations
- Backups are stored inside the cluster. If the entire server is lost, backups are lost too. For disaster recovery, consider periodically syncing MinIO to off-site storage.
- Database backups capture the file-system state of the PVC. For the most consistent database backups, consider running
pg_dumpbefore the backup or using the database's native backup tools alongside Velero.
