使用kubernetes租约作为服务选择器

gkl3eglg  于 2023-06-21  发布在  Kubernetes
关注(0)|答案(1)|浏览(128)

我的设置类似于主动/被动部署,但我想使用kubernetes租约和leader选举来管理主动pod。
leader election完全按照预期工作,Lease对象也被创建和维护(大致基于这篇文章https://carlosbecker.com/posts/k8s-leader-election/),但是当我试图使用这个租约信息作为服务选择器并且只向活动pod发送流量时,我被卡住了。
Fwiw,我在租约本身中有这些信息:

Spec:
  Acquire Time:            2023-06-06T17:45:49.962378Z
  Holder Identity:         leader-test-585469899d-t84qx
  Lease Duration Seconds:  15
  Lease Transitions:       2
  Renew Time:              2023-06-06T17:55:11.891018Z

有没有人能给予我一些提示,如何让这个工作?
我确实想过在leader-elector sidecar中添加逻辑,可以在活动pod上设置标签并将其用作服务选择器,但后来我意识到这个标签可能会立即被部署恢复,所以我放弃了这个想法。

qeeaahzv

qeeaahzv1#

我没有直接的答案,只有一个建议:
你的服务必须有一些逻辑来决定领导者做什么或不做什么,我假设集合中的每个pod都知道领导者是谁,因为他们可能会选择它,所以我建议的是简单地实现对集合中每个pod中的领导者的有条件重定向,这样如果非领导者接收到针对领导者的流量,它会将其重定向到领导者。

相关问题