[英]docker swarm - etcd cluster is unavailable or misconfigured
我正在嘗試使用etcd作為發現后端使用docker swarm。 我的etcd服務器位於etcd.programster.org(10.1.0.44),而我的Docker節點位於swarm1.programster.org(10.1.0.47)。 所有計算機都在本地網絡(10.1.0.x)的Virtualbox實例上運行。
我設法讓我的etcd服務器運行以下命令:
MY_IP="10.1.0.44"
./etcd \
-name infra0 \
-initial-advertise-peer-urls http://$MY_IP:2380 \
-listen-peer-urls="http://0.0.0.0:2380,http://0.0.0.0:7001" \
-listen-client-urls="http://0.0.0.0:2379,http://0.0.0.0:4001" \
-advertise-client-urls="http://$MY_IP:2379" \
-initial-cluster-token etcd-cluster-1 \
-initial-cluster infra0=http://$MY_IP:2380 \
-initial-cluster-state new
我可以使用curl和etcd從swarm1.programster.org設置和檢索鍵值。
# setting key with etcdctl
./etcdctl --peers http://etcd.programster.org:4001 set etc://etcd.programster.org/mykey "test"
# setting key with curl
curl -L \
http://etcd.programster.org:4001/v2/keys/mykey \
-XPUT -d value="test"
# retrieving key with etcdctl
./etcdctl --peers http://etcd.programster.org:4001 get etc://etcd.programster.org/mykey
# retrieving key with curl
curl -L http://etcd.programster.org:4001/v2/keys/mykey
但是,每當我運行基於群體的命令,例如:
docker run swarm list etcd://10.1.0.44/
要么
docker run swarm join --advertise=10.1.0.47:2375 etcd://10.1.0.44/
我總是收到以下錯誤消息:
[timestamp] client: etcd cluster is unavailable or misconfigured
我的etcd服務器配置是否錯誤,或者是否需要首先在docker節點上執行網絡配置? 為了簡單起見,我還沒有執行任何TLS身份驗證,但是如果沒有此功能,可能無法群存?
嘗試包括以下端口號:
docker run swarm join --advertise=10.1.0.47:2375 etcd://10.1.0.44:2379/swarm
我有同樣的問題,我認為碼頭工人會智能地從“ etcd://”推斷端口號-我錯了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.