$ go run resourcelock.go -h
...
-key string
lease lock name (default "example")
-kubeconfig string
(optional) absolute path to the kubeconfig file (default "/Users/xiexianbin/.kube/config")
...
-name string
identity name who holder the lock
-ns string
which namespace the lease lock create in (default "default")
...
run
# lock1
$ go run resourcelock.go -ns default -name lock1
.. leaderelection.go:250] attempting to acquire leader lease default/example...
.. leaderelection.go:260] successfully acquired lease default/example
.. resourcelock.go:89] lock1: get leading
^C.. Received termination, shutdown ...
.. resourcelock.go:92] lock1: lost leading
.. lock1: exit
# lock2
$ go run resourcelock.go -ns default -name lock2
.. leaderelection.go:250] attempting to acquire leader lease default/example...
.. resourcelock.go:99] new leader elected: lock1
.. leaderelection.go:260] successfully acquired lease default/example
.. resourcelock.go:89] lock2: get leading
leaderelection.go:332] error retrieving resource lock xx/xx: etcdserver: leader changed
leaderelection.go:285] failed to renew lease timed out waiting for the condition
可能原因
时间不同步
etcd 同步慢,扩大etcd的心跳检测时间
$ vim /etc/kubernetes/manifests/etcd.yaml
- --election-timeout=5000
- --heartbeat-interval=500
We use cookies and similar methods to recognise visitors and remember preferences. We also use them to measure
campaign effectiveness and analyse site traffic.
By selecting 'Accept', you consent to the use of these methods by us and trusted third parties.