如何开发一个主 Pod 工作,备用 Pod 进行故障转移的 Operator?
How to develop an Operator which could have a master Pod working and a standby to do failover?
k8s中有一个概念Operator,可以提供一个CRD,在观察CR的ADD/UPDATE/DELETE事件时做一些操作。
为了高可用,部署两个服务是一种常见的做法,一个作为master响应请求,一个作为standby做failover。我听说在 k8s 中,controller 可以使用这种方法来实现 HA 并且 APIServer 提供了 select master 在两个服务之间的功能。
我进行了很多搜索,但无法在 Operator 中找到有关如何使用此功能的示例。
如有任何关于如何为 Operator 执行 HA 的建议,我们将不胜感激。
您似乎指的是名为 leader election. There is nice blog post about leader election in kubernetes. Some internal kubernetes services requires this too, for example kube-scheduler 的过程,因为目前只有一个调度程序可以工作。
此外,您可以使用其他方式进行领导选举,也许您的语言有用于领导选举的库,通过 consul、etcd、zookeeper 等
k8s中有一个概念Operator,可以提供一个CRD,在观察CR的ADD/UPDATE/DELETE事件时做一些操作。
为了高可用,部署两个服务是一种常见的做法,一个作为master响应请求,一个作为standby做failover。我听说在 k8s 中,controller 可以使用这种方法来实现 HA 并且 APIServer 提供了 select master 在两个服务之间的功能。
我进行了很多搜索,但无法在 Operator 中找到有关如何使用此功能的示例。
如有任何关于如何为 Operator 执行 HA 的建议,我们将不胜感激。
您似乎指的是名为 leader election. There is nice blog post about leader election in kubernetes. Some internal kubernetes services requires this too, for example kube-scheduler 的过程,因为目前只有一个调度程序可以工作。
此外,您可以使用其他方式进行领导选举,也许您的语言有用于领导选举的库,通过 consul、etcd、zookeeper 等