如何在 etcd 集群中进行故障转移
How to failover in etcd cluster
我有 3 个节点 etcd 集群,即一个主节点和两个从节点。我需要关闭主节点进行一些维护 activity。因此,我尝试进行选举以选出新的主人,但没有成功。
下面是etcd集群的当前状态
etcdctl --write-out=table --endpoints=$ENDPOINTS endpoint status
+---------------------+------------------+---------+---------+-----------+-----------+------------+
| ENDPOINT | ID | VERSION | DB SIZE | IS LEADER | RAFT TERM | RAFT INDEX |
+---------------------+------------------+---------+---------+-----------+-----------+------------+
| X.X.X.5:2379 | ac354ac61b853b35 | 3.2.26 | 25 kB | true | 12 | 13 |
| X.X.X.6:2379 | 7f34769979eb782 | 3.2.26 | 25 kB | false | 12 | 13 |
| X.X.X.9:2379 | 9174c96c4669dfb5 | 3.2.26 | 25 kB | false | 12 | 13 |
+---------------------+------------------+---------+---------+-----------+-----------+------------+
下面是我用来进行选举的命令。我 运行 来自节点 3 的下面,即 X.X.X.9 但它的命令永远得到了结构。我是 etcd 的新手,所以不确定我是否正确使用命令
etcdctl --endpoints=$ENDPOINTS elect failover app03
failover/37827ec3fd292b03
app03
提前致谢
TL;DR;
etcdctl --endpoints=$ENDPOINTS move-leader 9174c96c4669dfb5
再多说几句:
我认为“主”和“从”对 etcd 中发生的事情的描述是完全错误的。最好将他们视为 3 名成员,其中 1 名是领导者。您可以随时关闭少数节点(3 节点集群中的 1 个),etcd 将正常工作。留在集群的成员之间将进行选举,并选举出新的lider。
更多阅读:https://etcd.io/docs/v3.5/op-guide/runtime-configuration/
我有 3 个节点 etcd 集群,即一个主节点和两个从节点。我需要关闭主节点进行一些维护 activity。因此,我尝试进行选举以选出新的主人,但没有成功。
下面是etcd集群的当前状态
etcdctl --write-out=table --endpoints=$ENDPOINTS endpoint status
+---------------------+------------------+---------+---------+-----------+-----------+------------+
| ENDPOINT | ID | VERSION | DB SIZE | IS LEADER | RAFT TERM | RAFT INDEX |
+---------------------+------------------+---------+---------+-----------+-----------+------------+
| X.X.X.5:2379 | ac354ac61b853b35 | 3.2.26 | 25 kB | true | 12 | 13 |
| X.X.X.6:2379 | 7f34769979eb782 | 3.2.26 | 25 kB | false | 12 | 13 |
| X.X.X.9:2379 | 9174c96c4669dfb5 | 3.2.26 | 25 kB | false | 12 | 13 |
+---------------------+------------------+---------+---------+-----------+-----------+------------+
下面是我用来进行选举的命令。我 运行 来自节点 3 的下面,即 X.X.X.9 但它的命令永远得到了结构。我是 etcd 的新手,所以不确定我是否正确使用命令
etcdctl --endpoints=$ENDPOINTS elect failover app03
failover/37827ec3fd292b03
app03
提前致谢
TL;DR;
etcdctl --endpoints=$ENDPOINTS move-leader 9174c96c4669dfb5
再多说几句:
我认为“主”和“从”对 etcd 中发生的事情的描述是完全错误的。最好将他们视为 3 名成员,其中 1 名是领导者。您可以随时关闭少数节点(3 节点集群中的 1 个),etcd 将正常工作。留在集群的成员之间将进行选举,并选举出新的lider。
更多阅读:https://etcd.io/docs/v3.5/op-guide/runtime-configuration/