Coreos
設置基於 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])
和這樣的錯誤:
鎖匠
$$ 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 映像/頻道中發布,但請盡快查找!