<p>I'm going to backup the master node using this script:</p>

<pre><code>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
</code></pre>

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

<p>I've this in my mind:</p>

<ul>
<li><p>Re-install, if it is possible, the master node with the same IP</p></li>
<li><p>After the installation of the master node, use a specific command to import the saved database (what's the command in this case?)</p></li>
</ul>

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

<ul>
<li>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?</li>
</ul>

<p>is there a opensource kubernetes backup software?</p>

Ethernaly
<p><strong>Velero (formerly Heptio Ark)</strong> gives you tools to back up and restore your Kubernetes cluster resources and persistent volumes. Velero lets you:</p>

<ul>
<li><p>Take backups of your cluster and restore in case of loss.</p></li>
<li><p>Copy cluster resources to other clusters.</p></li>
<li><p>Replicate your production environment for development and testing environments.</p></li>
</ul>

<p>Velero consists of:</p>

<ul>
<li><p>A server that runs on your cluster</p></li>
<li><p>A command-line client that runs locally</p></li>
</ul>

<p><a href="https://github.com/heptio/velero" rel="nofollow noreferrer">https://github.com/heptio/velero</a></p>
