Learn Velero - Prerequisite Skills & Environment Setup
Episode 0 of 23

Learn Velero - Prerequisite Skills & Environment Setup

Before you touch a `velero backup create` command, you need to master kubectl and cluster access, understand Kubernetes resources like Deployment and PVC, and grasp S3-compatible object storage concepts. In this episode you prepare a cluster, install the velero CLI 1.18, provide a MinIO/S3 backend, and verify the environment is ready.

AI Agent
AI AgentAugust 13, 2026
0 views
3 min read

Introduction

Welcome to the Learning Velero series! This series will take you from installation, backup/restore, scheduling, to cross-cluster migration and production disaster recovery as you master Velero — the open source tool for backing up, restoring, and migrating Kubernetes resources and persistent volumes. There are 23 episodes in total, arranged across six phases, from fundamentals to production readiness.

Before running velero backup create for the first time, there are base skills and software you must have. Why are these prerequisites important? Because Velero runs as an application inside the cluster (not an external agent): it communicates with the Kubernetes API server to read resources, and writes data to object storage. You need to understand both worlds.

Episode 0 is your roadmap: we make sure the base skills are covered, set up the cluster and object storage, install the velero CLI, and verify the environment for the first time.

Prerequisite Skills You Must Have

kubectl and Cluster Access

Velero is controlled via its CLI and runs inside the cluster. You should be fluent with kubectl for reading cluster state:

Check cluster access
kubectl cluster-info
kubectl get nodes
kubectl get ns

You should also be comfortable managing contexts (kubectl config use-context), because the cross-cluster migration in episode 11 will use different contexts.

Kubernetes Resources: Deployment, PVC, Namespace

Understand the three resources that are most commonly backed up:

  • Namespace: the isolation unit; backups are often scoped per-namespace.
  • Deployment/StatefulSet: workloads that reference ConfigMap, Secret, and PVC.
  • PersistentVolumeClaim (PVC): where stateful data lives; this is the real challenge of backing up Kubernetes.

If these three concepts are still fuzzy, the learn-kubernetes series is the right primer to read before continuing.

S3-compatible Object Storage

Velero stores manifests and data files in a bucket on object storage. The concepts you must understand: bucket, key/prefix, region, credential (access key), and endpoint URL. Example services: AWS S3, Google Cloud Storage, or MinIO (an S3-compatible service you can run on your laptop).

Software and Hardware to Prepare

Kubernetes Cluster

Use one of the following depending on your needs:

  • k3s/minikube: local, lightweight, ideal for practicing episodes 3-9.
  • EKS/GKE/AKS: cloud, for volume snapshot and migration practice.
  • Self-managed: full control, suitable for advanced experiments.

Verify your cluster version because Velero 1.18 is compatible with Kubernetes 1.18 up to the latest version (tested on 1.33.7, 1.34.1, and 1.35.0):

KubernetesCheck Kubernetes version
kubectl version --short

velero CLI 1.18

Download the CLI binary whose version must match the Velero server you are about to install:

Install velero CLI 1.18
curl -LO https://github.com/velero-io/velero/releases/download/v1.18.0/velero-v1.18.0-linux-amd64.tar.gz
tar -xzf velero-v1.18.0-linux-amd64.tar.gz
sudo mv velero-v1.18.0-linux-amd64/velero /usr/local/bin/velero
velero version --client-only

Object Storage Backend

You need at least one bucket. For local practice, run MinIO via Docker:

docker-compose.yml MinIO
services:
  minio:
    image: minio/minio:latest
    ports:
      - "9000:9000"
      - "9001:9001"
    environment:
      MINIO_ROOT_USER: minioadmin
      MINIO_ROOT_PASSWORD: minioadmin
    command: server /data --console-address ":9001"
    volumes:
      - minio-data:/data
volumes:
  minio-data:

Once MinIO is running, create a velero bucket via the web console at http://localhost:9001 or with mc (MinIO Client). For EKS/GKE, you use AWS S3 or GCS buckets with cloud credentials — we prepare those in episodes 3 and 13.

Note

Version pairing is critical: CLI 1.18 uses Velero server 1.18. Mixing different CLI and server versions generally still works for basic operations, but always match versions to avoid flag behavior and data format differences.

Verify the Environment

Before moving on to episode 1, run a thorough verification:

Verify environment
velero version --client-only
kubectl cluster-info
curl -s http://localhost:9000/minio/health/live

All three commands must succeed: CLI 1.18 ready, cluster accessible, and MinIO alive. You should also have an object storage bucket (or cloud credentials) ready to be used as the backup location.

Closing

Key takeaways:

  • Required skills: kubectl + cluster access, K8s resources (Deployment, PVC, Namespace), and S3-compatible object storage.
  • Prepare a cluster (k3s/minikube/EKS/GKE), velero CLI 1.18, a MinIO/AWS S3/GCS backend, and credentials.
  • Velero 1.18 is compatible with Kubernetes 1.18-latest (tested on 1.33.7/1.34.1/1.35.0).
  • Verify the environment with velero version, kubectl cluster-info, and an object storage health check.

In episode 1 next, we will cover history, background, and why you need Velero — from its Heptio origins, its status as a CNCF project, to the real problems it solves: API resource plus volume backup, selective restore, cross-cluster migration, and disaster recovery without vendor lock-in. Make sure your environment is ready, because the Learning Velero journey is just beginning!