OpsCanary
kubernetesstoragePractitioner

Back Up Your EKS Cluster Like a Pro with Velero

5 min read AWS Containers BlogMay 12, 2026Reviewed for accuracy
Share
PractitionerHands-on experience recommended

In the world of cloud-native applications, data loss can be catastrophic. Backing up your Amazon EKS cluster resources is essential for ensuring business continuity. Velero is an open-source tool that provides a straightforward way to back up and restore Kubernetes resources, including persistent volumes. By leveraging Velero, you can safeguard your workloads against accidental deletions, configuration errors, or even larger outages.

Velero operates through a controller deployed as a Kubernetes Deployment. You initiate backup or restore tasks by submitting a Backup or Restore manifest to your EKS cluster. Key configuration parameters include backupStorageLocation, which defines where your backups are stored, and volumeSnapshotLocation, which specifies where to take snapshots of your persistent volumes. The default settings are often sufficient, but you can customize them based on your specific needs. For instance, you can enable features like CSI snapshots by setting features to EnableCSI. The process begins with creating an S3 bucket for storage, setting up IAM roles and policies, and deploying Velero using Helm.

In production, ensure you have the necessary IAM permissions to create S3 buckets and manage EKS resources. Use the provided YAML and Bash snippets to set up Velero correctly, including creating a ClusterRole for Velero with appropriate permissions. Keep in mind that version compatibility is crucial; ensure your EKS cluster runs Kubernetes 1.35 or later. While Velero is powerful, it’s essential to test your backup and restore processes regularly to ensure they work as expected. Also, be wary of the complexities that can arise when managing multiple namespaces or large volumes of data, as these can complicate your backup strategy.

Key takeaways

  • Configure `backupStorageLocation` to define where your backups will be stored.
  • Use Helm to install Velero with the command: `helm install velero vmware-tanzu/velero --version 11.4.0`.
  • Set up IAM roles and policies to grant Velero the necessary permissions for S3 and EKS operations.
  • Regularly test your backup and restore processes to ensure reliability in production.
  • Be aware of version compatibility; use Kubernetes 1.35 or later for optimal performance.

Why it matters

In production, a reliable backup strategy can save your application from significant downtime and data loss. Velero provides a robust solution to ensure your EKS resources are protected.

Code examples

Bash
1export CLUSTER_NAME=<<Cluster Name>>
2export AWS_REGION=<<AWS region>>
3export AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text --no-cli-pager)
4export BUCKET_NAME=velero-backups-$(date +%s)
5export POLICY_NAME=VeleroBackupPolicy
6export ROLE_NAME=VeleroBackupRole
7export AWS_PAGER=""
YAML
1configuration:
2  backupStorageLocation:
3  - name: default
4    provider: aws
5    bucket: ${BUCKET_NAME}
6    config:
7      region: ${AWS_REGION}
8  volumeSnapshotLocation:
9  - name: default
10    provider: aws
11    config:
12      region: ${AWS_REGION}
13  features: EnableCSI
14credentials:
15  useSecret: false
16serviceAccount:
17  server:
18    create: true
19    name: velero
20initContainers:
21- name: velero-plugin-for-aws
22  image: velero/velero-plugin-for-aws:v1.10.0
23  volumeMounts:
24  - mountPath: /target
25    name: plugins
26upgradeCRDs: false
27cleanUpCRDs: false
Bash
kubectl apply -f velero-cluster-role.yaml

When NOT to use this

The official docs don't call out specific anti-patterns here. Use your judgment based on your scale and requirements.

Want the complete reference?

Read official docs

Test what you just learned

Quiz questions written from this article

Take the quiz →
Better StackSponsor

Unified observability — logs, uptime monitoring, and on-call in one place. Used by 50,000+ engineering teams to ship faster and sleep better.

Try Better Stack free →

Get the daily digest

One email. 5 articles. Every morning.

No spam. Unsubscribe anytime.