velero-operator

Velero Operator Charm

Channel Revision Published Runs on
latest/edge 421 25 Sep 2025
Ubuntu 24.04
1.15/stable 421 16 Oct 2025
Ubuntu 24.04
1.15/candidate 421 16 Oct 2025
Ubuntu 24.04
1.15/edge 421 16 Oct 2025
Ubuntu 24.04
juju deploy velero-operator --channel edge
Show information

Platform:

Ubuntu
24.04

Tutorial

This guide provides a step-by-step tutorial to get you started with Charmed Velero, on top of a generic Kubernetes (K8s) cluster. In this tutorial, you will use Canonical K8s.

Requirements

  • A Kubernetes Juju controller, such as Canonical K8s.

Deploy Charmed Velero

To deploy Velerop operator, add a new model to perform deployments:

juju add-model velero-tutorial

Deploy the velero-operator charm and wait for its installation to complete:

juju deploy velero-operator --trust --config use-node-agent=true --default-volumes-to-fs-backup=true

For this example, use-node-agent and default-volumes-to-fs-backup config options are set to allow Velero to make file system backups of the Persistent Volume Claims using kopia. This configuration should only be set on non-AWS/AKS clusters, as those clouds usually provide native snapshotting capabilities via Velero Plugins.

Integrate with a storage provider

This tutorial uses the s3-integrator charm as the storage provider. Follow its documentation to set up the integrator with the AWS S3 object storage credentials. Once done, integrate it with Charmed Velero:

juju deploy s3-integrator
juju integrate velero-operator s3-integrator

After completing these steps, you should have a model that resembles this:

Model            Controller  Cloud/Region         Version  SLA          Timestamp
velero-tutorial  microk8s       microk8s/localhost  3.6.4    unsupported  21:25:24-04:00

App              Version  Status   Scale  Charm            Channel        Rev  Address        Exposed  Message
s3-integrator             active       1  s3-integrator    latest/stable  145  10.152.183.77  no       
velero-operator           active       1  velero-operator                   0  10.152.183.97  no       Unit is Ready


Unit                Workload  Agent  Address      Ports  Message
s3-integrator/0*    active    idle   10.1.27.231         
velero-operator/0*  active    idle   10.1.27.203         Unit is Ready

Back up your data

Execute a backup via the Velero Command Line Interface (CLI) using the following action:

juju run-action velero-operator/0 run-cli command="backup create mybackup --include-namespaces=test-namespace"

Get backup details and status as follows:

juju run-action velero-operator/0 run-cli command="backup describe mybackup"

Restore your data

You can restore your data from a previous backup as follows:

juju run-action velero-operator/0 run-cli command="restore create --from-backup mybackup"

After the restore is completed, the charm recreates the namespace including all its resources. You can confirm it by running:

kubectl get all -n test-namespace

Clean up your tutorial environment

Release the allocated resources and delete the model for this tutorial as follows:

juju destroy-model velero-tutorial

Congratulations! You now have a basic understanding of how the Charmed Velero works.