K8s backup and restoration tools comparison Velero vs Kasten

pavan kumar ceemala
3 min readSep 1, 2022

--

Photo by NordWood Themes on Unsplash

This comparison is based on capabilities of velero and kasten tested on OCI OKE.

Velero: Velero is an open source tool to safely backup and restore, perform disaster recovery, and migrate Kubernetes cluster resources and persistent volumes.

How velero works?

  • A server that runs on your kubernetes cluster
  • A command-line utility that runs locally

Basic backup flow:

Features:

  • OSS
  • Can take backups of stateless apps, statefull apps, etcd.
  • Supports on-demand, scheduled backups.
  • Kubernetes namespace remapping is supported, for eg: backup created for a namespace can be restored in another namespace.
  • Can be integrated with object storages which supports S3 API for storing backups, can take local backup.
  • Comes with command line interface.
  • Has capability to take backups based on annotations assigned to the workloads, and we can also opt-in and opt-out of backup by defining the annotations

Limitations:

  • No UI
  • Struggles to take backups of cluster which are >= 100GB
  • CSI snapshot feature is not fully supported
  • Monitoring the status of backup process works well for small backups, but for large backups we dont get clear message on the status of how many objects to are in progress or backed up.

Kasten: Kasten K10 is a Cloud Native backup/restore tool, it provides scalable and secure system for backup/restore, disaster recovery and application mobility for Kubernetes applications.
How Kasten works?

  • Its a kubernetes native tool, Kasten k10 has to be deployed on the cluster where we want to take the backup.
  • Kasten k10 can also be run in distributed mode where one k8s cluster acts as master/controller, and the other backup candidate k8s clusters are attached to the central K8s cluster using access tokens.

Basic backup flow:

Features:

  • Starter, Enterprise Trial, and Enterprise. The default Starter edition, provided at no charge, is functionally the same as the Enterprise Trial and Enterprise editions but limited from a support and scale perspective.
  • Can take backups of stateless apps, statefull apps, etcd.
  • Comes with rich ui, with the capabilities
  • can write backup policies/jobs.
  • can check the status of backups, with the amount of storage used, time taken by each backup job.
  • multi cluster integration visibility
  • Multi cluster capability, where we can have a centralized single backup cluster which can take backups of other clusters integrated with it.
  • Can be integrated with object storages which supports S3 API for storing backups, can take local backup.

Limitations:

  1. OCI OKE doesn’t support snapshot feature, hence we need to inject kanister sidecar to enable the generic backup feature in kasten k10 and adding an annotation to identify the workload which needs to be backed up.

--

--