Încerc să învârt un nod ETCD în docker și să refac o copie de rezervă obținută de la nodul Kubernetes Cluster.
ETCDCTL_API=3 etcdctl --endpoints=https://127.0.0.1:2379 --user=root:'root' snapshot salvare snapshot.db
Am obținut instantaneul și l-am descărcat local. Cum aș putea restabili pe un nod etcd deja rotit?
Următoarea comandă a fost folosită pentru a porni containerul. Am montat un volum de date.
docker run -d --restart always \
-p 2379:2379 \
-p 2380:2380 \
--volume=etcd-volume:/etcd-data \
--name etcd gcr.io/etcd-development/etcd:latest \
/usr/local/bin/etcd \
--data-dir=/etcd-data --name etcd \
--initial-advertise-peer-urls http://127.0.0.1:2380 --listen-peer-urls
http://0.0.0.0:2380 \
--advertise-client-urls http://127.0.0.1:2379 --listen-client-urls http://0.0.0.0:2379 \
--initial-cluster etcd=http://127.0.0.1:2380
Apoi am încercat să-l restabilim folosind următoarele.
ETCDCTL_API=3 etcdctl snapshot restaurare snapshot.db \
--name m1 \
--initial-cluster m1=http://127.0.0.1:2379 \
--initial-cluster-token etcd-cluster \
--initial-advertise-peer-urls http://127.0.0.1:2379 \
--data-dir /var/lib/docker/volumes/etcd-volume
Atât cluster-ul ETCD, cât și docker-ul sunt pe două VM-uri diferite. Am încercat să execut comanda de mai sus de pe mașina locală, deoarece instrumentul etcdctl trebuie instalat în docker pentru a executa acea comandă. Restaurarea nu a avut loc. Am nevoie doar ca cheile să fie copiate pe noul. Vreo sugestie despre cum as putea sa o fac?