<mohammadrony>

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