Docker 使用“CoreOS”时,CoreOS成员节点将不会启动;etcdctl成员加上;

Docker 使用“CoreOS”时,CoreOS成员节点将不会启动;etcdctl成员加上;,docker,coreos,etcd,Docker,Coreos,Etcd,我正试图使用命令“etcdctl member add core2”将一个额外的etcd节点添加到我的CoreOS集群中,但该命令使我的新节点未启动,因此我的集群不健康。在运行etcdctl member add命令后,如何修复此问题或启动新节点?以下是我运行此命令时的输出以及之后的群集状态: core@ip-172-31-12-183 ~ $ etcdctl member add core2 http://172.31.12.183:2380 Added member named core2

我正试图使用命令“etcdctl member add core2”将一个额外的etcd节点添加到我的CoreOS集群中,但该命令使我的新节点未启动,因此我的集群不健康。在运行etcdctl member add命令后,如何修复此问题或启动新节点?以下是我运行此命令时的输出以及之后的群集状态:

core@ip-172-31-12-183 ~ $ etcdctl member add core2 http://172.31.12.183:2380
Added member named core2 with ID 4d14f3cb088a2f54 to cluster

ETCD_NAME="core2"
ETCD_INITIAL_CLUSTER="core2=http://172.31.12.183:2380,ec2c8c9d2cf141cf9657e98b260895a5=http://172.31.12.182:2380"
ETCD_INITIAL_CLUSTER_STATE="existing"
core@ip-172-31-12-183 ~ $ etcdctl member list
4d14f3cb088a2f54[unstarted]: peerURLs=http://172.31.12.183:2380
aedf0a441a723d8a: name=ec2c8c9d2cf141cf9657e98b260895a5 peerURLs=http://172.31.12.182:2380 clientURLs=http://172.31.12.182:2379,http://172.31.12.182:4001
core@ip-172-31-12-183 ~ $ etcdctl cluster-health
member 4d14f3cb088a2f54 is unreachable: no available published client urls
member aedf0a441a723d8a is unhealthy: got unhealthy result from http://172.31.12.182:2379
cluster is unhealthy

简单地说,添加成员的步骤是错误的。
与官方版本一样,将新成员添加到单节点集群的步骤我假设是您的场景:

  • 启动第一个节点
  • 运行
    etcdctl成员添加
  • 使用与群集相关的选项启动第二个节点
  • 因此根据您的情况:

    core2
    启动之前,运行=>

    etcdctl member add core2 http://172.31.12.183:2380  
    
    然后,使用集群相关选项启动
    core2

    ./etcd --name core2 --initial-advertise-peer-urls http://172.31.12.183:2380 \
      --listen-peer-urls http://172.31.12.183:2380 \
      --listen-client-urls http://172.31.12.183:2379 \
      --advertise-client-urls http://172.31.12.183:2379 \
      --initial-cluster core2=http://172.31.12.183:2380,ec2c8c9d2cf141cf9657e98b260895a5=http://172.31.12.182:2380 \
      --initial-cluster-state existing