如何更改 etcd 集群中的领导者?
How to change a leader in etcd cluster?
我在 coreOS 上有一个 etcd 集群 运行。领导者设置为我开始的第一个成员(正如预期的那样),但我第一个开始错误,所以领导者不是应该的人。
如何将领导的角色更改为其他成员?
我误解了 etcd 集群领导者的作用。我正在设置一个 Kubernetes 集群,我认为主节点应该是 etcd 集群领导者。但是正如@heimbert 提到的那样,领导者选举的重点是您不必担心领导者是谁。
要更改 etcd 集群中的领导者,您需要 运行 命令:
etcdctl move-leader id-of-the-node-you-want-to-be-the-leader
要获得 id-of-the-node-you-want-to-be-the-leader
你需要 运行 命令:
etcdctl endpoint status -w table
包含证书和端点的完整示例 - 当然,您必须根据您的配置调整参数。首先得到 table:
etcdctl endpoint status -w table \
--cacert="/ssl/client/ca-client.crt" \
--cert="/ssl/client/prod-v1-etcd-node-1-client.crt" \
--key="/ssl/client/prod-v1-etcd-node-1-client.key" \
--endpoints=127.0.0.1:2379,prod-v1-etcd-node-2:2379,prod-v1-etcd-node-3:2379
...然后,更换领导者:
etcdctl move-leader 1f648bfb63561530 \
--cacert="/ssl/client/ca-client.crt" \
--cert="/ssl/client/prod-v1-etcd-node-1-client.crt" \
--key="/ssl/client/prod-v1-etcd-node-1-client.key" \
--endpoints=127.0.0.1:2379,prod-v1-etcd-node-2:2379,prod-v1-etcd-node-3:2379
我在 coreOS 上有一个 etcd 集群 运行。领导者设置为我开始的第一个成员(正如预期的那样),但我第一个开始错误,所以领导者不是应该的人。
如何将领导的角色更改为其他成员?
我误解了 etcd 集群领导者的作用。我正在设置一个 Kubernetes 集群,我认为主节点应该是 etcd 集群领导者。但是正如@heimbert 提到的那样,领导者选举的重点是您不必担心领导者是谁。
要更改 etcd 集群中的领导者,您需要 运行 命令:
etcdctl move-leader id-of-the-node-you-want-to-be-the-leader
要获得 id-of-the-node-you-want-to-be-the-leader
你需要 运行 命令:
etcdctl endpoint status -w table
包含证书和端点的完整示例 - 当然,您必须根据您的配置调整参数。首先得到 table:
etcdctl endpoint status -w table \
--cacert="/ssl/client/ca-client.crt" \
--cert="/ssl/client/prod-v1-etcd-node-1-client.crt" \
--key="/ssl/client/prod-v1-etcd-node-1-client.key" \
--endpoints=127.0.0.1:2379,prod-v1-etcd-node-2:2379,prod-v1-etcd-node-3:2379
...然后,更换领导者:
etcdctl move-leader 1f648bfb63561530 \
--cacert="/ssl/client/ca-client.crt" \
--cert="/ssl/client/prod-v1-etcd-node-1-client.crt" \
--key="/ssl/client/prod-v1-etcd-node-1-client.key" \
--endpoints=127.0.0.1:2379,prod-v1-etcd-node-2:2379,prod-v1-etcd-node-3:2379