小编alm*_*lmi的帖子

如何从 CoreOS 上的 docker 镜像中的快照恢复 etcd 集群?

我有一个 Kubernetes 集群(v1.5.6),在 vmware 上有 3 个节点的 etcd 集群(etcd 版本 3.1.5)。此 etcd 节点在 vmware 上的 coreos 上的三个 docker 容器(在三个主机上)中运行。

我尝试使用以下解决方案备份 etcd:

docker run --rm --net=host -v /tmp:/etcd_backup -e ETCDCTL_API=3 quay.io/coreos/etcd:v3.1.5 etcdctl --endpoints=[1.1.1.1:2379,2.2.2.2:2379,3.3.3.3:2379] snapshot save etcd_backup/snapshot.db
Run Code Online (Sandbox Code Playgroud)

备份已成功完成。

我想在另一个 vmware 环境中从零开始创建这个 kubernetes 集群,但我需要为此从快照恢复 etcd。

到目前为止,我还没有找到适用于 docker 容器中的 etcd 的正确解决方案。

我尝试使用以下方法恢复,但不幸的是我没有成功。

首先,我在运行以下命令后创建了一个新的 etcd 节点:

docker run --rm --net=host -v /tmp/etcd_bak:/etcd_backup -e ETCDCTL_API=3 registry:5000/quay.io/coreos/etcd:v3.1.5 etcdctl snapshot restore etcd_backup/snapshot.db --name etcd0 --initial-cluster etcd0=http://etcd0:2380,etcd1=http://etcd1:2380,etcd2=http://etcd2:2380 --initial-cluster-token etcd-cluster-1 --initial-advertise-peer-urls http://etcd0:2380
Run Code Online (Sandbox Code Playgroud)

结果:

2018-06-04 09:25:52.314747 I | etcdserver/membership: added member …
Run Code Online (Sandbox Code Playgroud)

docker coreos etcd kubernetes

4
推荐指数
1
解决办法
5204
查看次数

标签 统计

coreos ×1

docker ×1

etcd ×1

kubernetes ×1