Skip to content

install-ha-etcd

Update your golang to 1.15+

Install cfssl

apt install golang-cfssl

Generate tls certs

mkdir /root/go/src/github.com/etcd-io
cd /root/go/src/github.com/etcd-io
git clone https://github.com/etcd-io/etcd.git
cd etcd/hack/tls-setup

Edit req-csr.json and keep 127.0.0.1 and localhost only for single cluster setup.

vi config/req-csr.json

Generate certs

export infra0=127.0.0.1
export infra1=127.0.0.1
export infra2=127.0.0.1
make
mkdir /tmp/etcd-certs
mv certs /tmp/etcd-certs

Start etcd cluster member1

./start-all.sh

Member list

etcdctl --endpoints https://127.0.0.1:3379 --cert /tmp/etcd-certs/certs/127.0.0.1.pem --key /tmp/etcd-certs/certs/127.0.0.1-key.pem --cacert /tmp/etcd-certs/certs/ca.pem member list

Backup

./backup.sh

Delete data

rm -rf /tmp/etcd

Kill process

kill process of infra0 infra1 infra2

Restore

./restore.sh