etcd的主从集群是怎么形式的呢,例如一主多从,还是多主多从呢?
    在etcd的集群中会选举出一位leader,其他etcd服务节点就会成为follower,在此过程其他follower会同步leader的数据。
    由于etcd集群必须能够选举出leader才能正常工作,所以部署的服务器数量必须是奇数,例如:
    1,3,5,7,9 的etcd节点数量。

    如果etcd的节点数量为偶数会怎么样?
    etcd 认为写入请求被 Leader 节点处理并分发给了多数节点后,就是一个成功的写入。那么多少节点如何判定呢,假设总结点数是 N,那么多数节点 Quorum=N/2+1。所以在集群中推荐的最少节点数量是3个,因为1和2个节点的容错节点数都是0,一旦有一个节点宕掉整个集群就不能正常工作了。

    那么如果etcd的节点数量为奇数,需要部署多少个节点最合适呢?
    在考虑etcd读写效率以及稳定性的情况下,基本可以选型如下:

    • 只有单台或者两台服务器做kubernetes的服务集群,只需要部署一台etcd节点即可;
    • 只有三台或者四台服务器做kubernetes的服务集群,只需要部署三台etcd节点即可;
    • 只有五台或者六台服务器做kubernetes的服务集群,只需要部署五台etcd节点即可;


    那么按照上面的公式推导,不就是etcd的节点越多越好?**

    1. 其实不是越多越好,基本三台和五台服务器作为etcd的节点已经比较稳定的了。


    那么如果任性就是要服务器很多呢?会出现什么样的情况?**

    1. 如果服务器的台数越多,就可能会出现网络抖动,延时、不稳定的情况,具体视机房网络情况;
    2. 如果服务器的台数越多,你就需要管理以及维护观察更多的服务器,在修复故障的时候需要注意更多的服务器数量;
    3. 另外,因为etcd的集群所有的follower都需要从leader同步完数据之后,leader才能继续写入新的数据,所以如果etcd的节点数量过多,则会导致同步的时间变长、导致leader的写入效率降低

    综上所述,部署etcd集群采用1,3,5,7的台数部署是比较合理的了