设置基于 0.46 的静态 etcd 集群(无发现 URL)

设置基于 0.46 的静态 etcd 集群(无发现 URL)

在不使用在 CoreOS 上运行的发现 URL 的情况下设置 etcd 集群时遇到了一些问题。

配置是通过 cloud-init 进行的。集群中的 3 台服务器列在下面的对等项下。每台服务器都有不同的 IP,并且静态设置了 addr 和 peer-addr。

例如,第一个服务器包含:

#cloud-config
coreos:
  etcd:
      addr: 192.168.0.50:4001
      peer-addr: 192.168.0.50:7001
      peers: 192.168.0.50:7001,192.168.0.51:7001,192.168.0.52:7001

我在 journalctl 中看到的内容是:

警告 | 同步集群失败([http://192.168.0.50:7001 http://127.0.0.1:7001]

还有如下错误:

locksmithd[12262]: etcd.service 处于活动状态 locksmithd[12262]: 初始化 etcd 客户端时出错: 402: 待机内部错误 (

我认为这是因为 etcd 不能正常工作。

不幸的是,CoreOS 网站并没有详细介绍 CoreOS 和 etcd 的实际静态设置。

一旦它正常工作,对于代理的 etcd 实例,我的云配置会是什么样子?

答案1

使用静态发现时,etcd 0.4.x 会选择集群的初始领导者作为未使用列表启动的节点--peer。您需要省略peers:其中一个云配置的部分。

etcd 2.0.0 将允许您以现在尝试的方式引导集群,即向所有成员提供静态列表并以此方式启动集群。查看静态集群文档:https://github.com/coreos/etcd/blob/master/Documentation/clustering.md#static

etcd 2.0.0 尚未在 CoreOS 映像/频道中发布,但很快就会发布!

相关内容