Velero gives you tools to back up and restore your Kubernetes cluster resources and persistent volumes. Velero lets you:
- Take backups of your cluster and restore in case of loss.
- Copy cluster resources across cloud providers. NOTE: Cloud volume migrations are not yet supported.
- Replicate your production environment for development and testing environments.
Velero consists of:
- A server that runs on your cluster
- A command-line client that runs locally
For more information, the documentation provides a getting started guide, plus information about building from source, architecture, extending Velero, and more.

Steps
Heptio Velero
Set Up our Environment
Let's pull down the Heptio Velero GitHub repo to help us get started: git clone https://github.com/heptio/velero
Let's download and install the Velero client:
curl -LO https://github.com/heptio/velero/releases/download/v1.1.0/velero-v1.1.0-linux-amd64.tar.gz
tar -C /usr/local/bin -xzvf velero-v1.1.0-linux-amd64.tar.gz
Add velero directory to PATH
export PATH=$PATH:/usr/local/bin/velero-v1.1.0-linux-amd64/
Create a Velero-specific credentials file (credentials-velero
) in your local directory:
echo "[default]
aws_access_key_id = minio
aws_secret_access_key = minio123" > credentials-velero
Start the server and the local storage service:
kubectl apply -f velero/examples/minio/00-minio-deployment.yaml
velero install \
--provider aws \
--bucket velero \
--secret-file ./credentials-velero \
--use-volume-snapshots=false \
--backup-location-config region=minio,s3ForcePathStyle="true",s3Url=http://minio.velero.svc:9000
This example assumes that it is running within a local cluster without a volume provider capable of snapshots, so no VolumeSnapshotLocation
is created (--use-volume-snapshots=false
).
Deploy an example nginx application:
kubectl apply -f velero/examples/nginx-app/base.yaml
Check to see that both Velero and nginx deployments have been successfully created:
kubectl get deployments -l component=velero --namespace=velero
kubectl get deployments --namespace=nginx-example