Coreos

設置基於 0.46 的靜態 etcd 集群(無發現 URL)

  • February 17, 2015

如果不使用在 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]

和這樣的錯誤:

鎖匠

$$ 12262 $$: etcd.service 是活躍的 locksmithd$$ 12262 $$:初始化etcd客戶端時出錯:402:備用內部錯誤(

我假設是因為 etcd 無法正常工作。

不幸的是,CoreOS 網站並沒有詳細說明 CoreOS 和 etcd 在實踐中的靜態設置。

一旦它工作了,我的雲配置對於代理的 etcd 實例會是什麼樣子?

使用靜態發現時,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 映像/頻道中發布,但請盡快查找!

引用自:https://serverfault.com/questions/668203