gpt4 book ai didi

kubernetes - etcd 可以检测问题并为其他集群选举领导人吗?

转载 作者:行者123 更新时间:2023-12-02 11:32:23 29 4
gpt4 key购买 nike

据我所知,etcd使用 Raft 作为共识和领导者选择算法来维护一个领导者,该领导者负责保持 etcd 的集合。节点与 etcd 中的数据更改同步簇。除此之外,这允许 etcd从集群中的节点故障中恢复 etcd运行。
但是etcd呢?管理 其他 集群,即除了 etcd 的集群之外的集群跑?
例如,假设我们有一个 etcd集群和 单独 ,一个由主(读写)节点和(只读)副本组成的数据库(例如 MySQL 或 Redis)集群。可以 etcd管理这个其他集群的节点角色?
进一步来说:

  • 可以 etcd为集群选举一个领导者 其他 比正在运行的 etcd并将该信息提供给其他集群和节点?
  • 为了更具体地说明这一点,使用上面的例子,假设上面例子中提到的 MySQL 数据库集群中的一个主节点宕机了。再次注意,MySQL 数据库的主节点和副本在与运行和托管节点不同的集群上运行 etcd数据。
  • 是否etcd提供在除 etcd 之外的集群上检测此类节点故障的功能是自动的?如果是,在实践中是如何做到的? (例如 MySQL DB 或任何其他节点可以承担不同角色的集群)。
  • 检测到此类故障后,可以etcd在这个单独的集群中重新安排节点角色(即指定新的主节点和副本),它是否也会为此使用 Raft 领导者选择算法?
  • 一旦这样做,可以etcd 还有通知依赖于此数据库的客户端(应用程序)节点并相应地进行配置?
  • 最后,以上是否需要 Kubernetes ?或者可以etcd自己管理外部集群?


  • 如果有帮助, here对 Zookeper 来说也是一个类似的问题。

    最佳答案

    etcd 的主选举严格来说是为 etcd 本身选举一个领导者。
    然而,其他集群可以使用分布式强一致性键值存储(例如 etcd)来实现自己的故障检测、领导者选举并允许该集群的客户端做出响应。
    Etcd 不管理自己的集群。这不是神奇的酱汁。
    如果您想使用 etcd 来管理 mysql 集群,您将需要一个组件来管理 mysql 节点并将集群状态存储在 etcd 中。客户端可以观察该集群状态的变化并进行调整。

    关于kubernetes - etcd 可以检测问题并为其他集群选举领导人吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62680838/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com