There are several ways to back up AKS:
1. Velero (Most Popular Open-Source Tool)
- Backs up Kubernetes resources (deployments, configmaps, secrets, etc.)
- Backs up persistent volumes using snapshots
- Stores backups in Azure Blob Storage
- Supports scheduled backups and restores to same or different cluster
2. Azure Backup for AKS (Native Solution)
- Microsoft’s built-in backup service for AKS
- Backs up workloads and persistent volumes
- Managed via Azure Portal, CLI, or ARM templates
- Supports backup policies and restore points
- Integrates with Azure Backup Vault
3. Persistent Volume Snapshots
- Use Azure Disk Snapshots for stateful data
- Can be automated via Azure Snapshot Policies
- Best for database workloads (SQL, MongoDB, etc.)
4. GitOps / Infrastructure as Code
- Store all manifests in Git (Helm charts, YAML files)
- Tools like Flux or ArgoCD redeploy state from Git
- Not a traditional backup but enables fast cluster recreation
5. etcd Backup
- Backs up the cluster state directly
- More relevant for self-managed Kubernetes; in AKS, Microsoft manages etcd
What You Should Typically Back Up
- Kubernetes manifests (deployments, services, configmaps)
- Secrets (or reference them from Key Vault)
- Persistent volume data
- Namespace configurations
- RBAC roles and bindings
Best Practice Recommendation
| Approach | Best For |
|---|---|
| Azure Backup for AKS | Simplicity, native Azure integration |
| Velero + Blob Storage | Flexibility, multi-cloud, open-source |
| GitOps | Stateless workloads, fast redeployment |
| Disk Snapshots | Stateful apps with heavy data |
A solid strategy usually combines Azure Backup or Velero for cluster state + Disk Snapshots for persistent data + GitOps for fast recovery.