ETCD Management
Install etcdctl
git clone https://github.com/etcd-io/etcd.git
cd etcd/etcdctl
go build .
sudo mv etcdctl /usr/local/bin/
Usage
etcdctl -h
Snapshot
ETCDCTL_API=3 etcdctl --endpoints https://127.0.0.1:2379 snapshot save snapshot.db
Verify snapshot
etcdutl --write-out=table snapshot status snapshot.db
Backup certificate
sudo tar -zcvf etcd.tar.gz /etc/kubernetes/pki/etcd
Drain nodes before restore
kubectl drain NODE --ignore-daemonsets
Restore database
rm -rf /var/lib/etcd
ETCDCTL_API=3 etcdctl snapshot restore snapshot.db --name=KUBE-MASTER --data-dir=/var/lib/etcd --endpoints=https://127.0.0.1:2379 \
--cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key