3

サーバー (単一ノード) を開始しました。そしてクライアントに加わりました。

# consul members
Node                   Address             Status  Type    Build  Protocol  DC
v-ansible              172.16.10.11:8301   alive   server  0.5.2  2         dc1
v-php-cron             172.16.10.217:8301  alive   client  0.5.2  2         dc1

次に、サーバーを再起動します。そして、サーバー上で次のように表示されます:

# consul members
Node                   Address            Status  Type    Build  Protocol  DC
v-ansible              172.16.10.11:8301  alive   server  0.5.2  2         dc1

クライアント上:

# consul members
Node                   Address             Status  Type    Build  Protocol  DC
v-php-cron             172.16.10.217:8301  alive   client  0.5.2  2         dc1
v-ansible              172.16.10.11:8301   left    server  0.5.2  2         dc1

クライアント ログに次のように記録されます。

2015/11/05 17:35:05 [INFO] consul: adding server v-ansible (Addr: 172.16.10.11:8300) (DC: dc1)
2015/11/05 17:38:14 [INFO] serf: EventMemberLeave: v-ansible 172.16.10.11
2015/11/05 17:38:14 [INFO] consul: removing server v-ansible (Addr: 172.16.10.11:8300) (DC: dc1)
2015/11/05 17:39:45 [ERR] agent: failed to sync remote state: No known Consul servers
2015/11/05 17:40:11 [ERR] agent: failed to sync remote state: No known Consul servers
2015/11/05 17:40:30 [ERR] agent: failed to sync remote state: No known Consul servers

サーバーが左ステータスのままになるのはなぜですか? クライアントをサーバーに自動的に再参加させるにはどうすればよいですか?

4

1 に答える 1

0

skip_leave_on_interrupt オプションで問題が解決しました。skip_leave_on_interrupt=True (デフォルト) の場合、サーバーは再起動中にクラスタに LEAVE を送信しました

于 2015-11-06T11:05:37.493 に答える