Kubernetes disaster recovery - Reinstall the master node and import etcd backup

7/15/2019

I'm going to backup the master node using this script:

DATA=$(date +"%m-%d-%y-%H-%M")
ETCDCTL_API=3 etcdctl --endpoints https://127.0.0.1:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/healthcheck-client.crt --key /etc/kubernetes/pki/etcd/healthcheck-client.key snapshot save /opt/backup/etcd/snapshot-$DATA.db

In case of a disaster recovery, what's the best practice in order to restore the master node?

I've this in my mind:

  • Re-install, if it is possible, the master node with the same IP

  • After the installation of the master node, use a specific command to import the saved database (what's the command in this case?)

I think that at this point, all of our slaves will detect the master node, but I've some questions:

  • After this re-installation, the master node is blank, so, is there a way to backup also the pods/jobs/volumes informations to completely restore the cluster?

is there a opensource kubernetes backup software?

-- Ethernaly
backup
docker
kubernetes

1 Answer

7/15/2019

Velero (formerly Heptio Ark) gives you tools to back up and restore your Kubernetes cluster resources and persistent volumes. Velero lets you:

  • Take backups of your cluster and restore in case of loss.

  • Copy cluster resources to other clusters.

  • Replicate your production environment for development and testing environments.

Velero consists of:

  • A server that runs on your cluster

  • A command-line client that runs locally

https://github.com/heptio/velero

-- Ijaz Ahmad Khan
Source: StackOverflow