Difficulty: Beginner
Estimated Time: 10 minutes

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.

Heptio Velero

Step 1 of 3

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

This tab will not be visible to users and provides only information to help authors when creating content.

Creating Katacoda Scenarios

Thanks for creating Katacoda scenarios. This tab is designed to help you as an author have quick access the information you need when creating scenarios.

Here are some useful links to get you started.

Running Katacoda Workshops

If you are planning to use Katacoda for workshops, please contact [email protected] to arrange capacity.

Debugging Scenarios

Below is the response from any background scripts run or files uploaded. This stream can aid debugging scenarios.

If you still need assistance, please contact [email protected]