我要在三个不同节点上的三个Pod上以sidecar的形式运行Leader-elector(v0.5)。
参数:--election = XXX --http = 0.0.0.0:4040
一切正常,直到我杀死了领队。
现在,我将其中一个吊舱设置为一种状态,日志显示该吊舱已切换为新的领导者:
kubectl logs -c elector upper-0
I0803 21:08:38.645849 7 leaderelection.go:296] lock is held by upper-1 and has not yet expired
这表示上1 现在是领导者。
但是,如果我确实查询了upper-0的HTTP服务器,它将返回旧的领导者:
kubectl exec -it upper-0 bash
root@nso-lsa-upper-0:/# curl http://localhost:4040
{"name":"upper-2"}
我需要为领导者选举HTTP服务做些什么吗?
答案 0 :(得分:1)
看起来像个虫子。
GitHub上有一个未解决的问题:How is this possible? #2930
答案 1 :(得分:0)
是的,错误。我在此处上传了一个固定容器:https://hub.docker.com/r/fredrikjanssonse/leader-elector/tags/