This is the documentation for the latest development version of Velero. Both code and docs may be unstable, and these docs are not guaranteed to be up to date or correct. See the latest version.

Edit this page

Migrating from Heptio Ark to Velero

As of v0.11.0, Heptio Ark has become Velero. This means the following changes have been made:

The following instructions will help you migrate your existing Ark installation to Velero.


Migration process

At a high level, the migration process involves the following steps:

These steps are provided in a script here:

kubectl scale --namespace heptio-ark deployment/ark --replicas 0
 OS=$(uname | tr '[:upper:]' '[:lower:]') # Determine if the OS is Linux or macOS

# Download the velero client/example tarball to and unpack
curl -L${OS}-${ARCH}.tar.gz --output velero-v0.11.0-${OS}-${ARCH}.tar.gz
tar xvf velero-v0.11.0-${OS}-${ARCH}.tar.gz

# Create the prerequisite CRDs and namespace
kubectl apply -f config/common/00-prereqs.yaml

# Download and unpack the crd-migrator tool
curl -L${OS}-${ARCH}.tar.gz --output crd-migration-tool-v1.0.0-${OS}-${ARCH}.tar.gz
tar xvf crd-migration-tool-v1.0.0-${OS}-${ARCH}.tar.gz

# Run the tool against your cluster.
./crd-migrator \
    --from \
    --to \
    --label-mappings, \
    --annotation-mappings \
    --namespace-mappings heptio-ark:velero

# Copy the necessary secret from the ark namespace
kubectl get secret --namespace heptio-ark cloud-credentials --export -o yaml | kubectl apply --namespace velero -f -

# Apply the Velero deployment and restic DaemonSet for your platform
## GCP
#kubectl apply -f config/gcp/10-deployment.yaml
#kubectl apply -f config/gcp/20-restic-daemonset.yaml
## AWS
#kubectl apply -f config/aws/10-deployment.yaml
#kubectl apply -f config/aws/20-restic-daemonset.yaml
## Azure
#kubectl apply -f config/azure/00-deployment.yaml
#kubectl apply -f config/azure/20-restic-daemonset.yaml

# Verify your data is still present
./velero get backup
./velero get restore

# Remove old Ark data
kubectl delete namespace heptio-ark
kubectl delete crds -l component=ark 
kubectl delete clusterrolebindings -l component=ark