Why

Kubernetes allows us to have a zero downtime deployment, but service interrupting events are inevitable and can occur at any time. Your network can go down, your latest application push can introduce a critical bug, you may lose data because of human error or malicious activities, or in the rarest case, you might even have to face a natural disaster.

When you are using Kubernetes, sooner or later, you need to set up a backup. In case your cluster goes into an unrecoverable state, you will need a backup to go back to the previous stable state of the Kubernetes cluster.

Banzai Cloud Pipeline leverages best-of-breed cloud components, such as Kubernetes, to create a highly productive, yet flexible environment, and provides a safety net to backup and restore cluster and application states during the lifecycle of the cluster.

How

Within a Kubernetes cluster, there are actually two places where states are stored. One is etcd, which stores states for cluster object specs, configmaps, secrets, etc.; the second is persistent volumes for workloads. This means that, in order to have a viable disaster recovery procedure for a Kubernetes cluster and workload, both have to dealt with.

Unfortunately most of the managed Kubernetes services (GKE, EKS and the like) don’t provide direct access to etcd, so another approach is needed. Banzai Cloud Pipeline backup and disaster recovery compresses and backs up Kubernetes objects to object storage. It also takes snapshots of your cluster’s Persistent Volumes using your cloud provider’s block storage snapshot features, and can then restore your cluster’s objects and Persistent Volumes to a previous state.

It can be easily turned on for supported clusters. The only prerequisite is an existing object store bucket on one of the supported providers.

Backup and disaster recovery is currently supported for clusters running on Google, AWS, Azure

Backup and disaster recovery lets you:

  • Take backups of your cluster and restore in case of loss.
  • Replicate your production cluster to development and testing clusters.
  • Create on-demand and scheduled backups