Backup and restore etcd
- Process for backing up etcd cluster
Backup etcd
- Create some k8s deployment
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
* check etcdctl version
etcdctl version
* Etcd pod is deployed as a Pod in kube-sytem namespace
* Lets describe pod kubectl describe pod etcd-controlplane -n kube-system
* Refer Here for official docs
* Lets create a snapshot
sudo ETCDCTL_API=3 etcdctl --cacert=/etc/kubernetes/pki/etcd/ca.crt \
--cert=/etc/kubernetes/pki/etcd/server.crt \
--key=/etc/kubernetes/pki/etcd/server.key \
snapshot save /opt/etcd-backup.db
Restore etcd
- command to restore the snapshot
sudo ETCDCTL_API=3 etcdctl --data-dir=/var/lib/from-backup snapshot restore /opt/etcd-backup.db
- Change the manifest file in /etc/manifests to point to new location
