K8s Control Plane Fault-tolerance | Minimum nodes and Leader Election

6/29/2021

On a stacked (etcd+master on the same node) control plane setup we need a minimum of 3 nodes to achieve Quorum but what is the requirement for a setup where we have external etcd nodes? Etcd needs a minimum of 3 but what is the minimum number of master nodes we need?

The official docs says a minimum of 3 is required but it is confusing as the leader election/consensus algorithm used for etcd and master nodes are different so it is not very clear as to what is the minimum number of master nodes required to achieve fault-tolerance.

However, this topology requires twice the number of hosts as the stacked HA topology. A minimum of three hosts for control plane nodes and three hosts for etcd nodes are required for an HA cluster with this topology.

Thanks in advance!

Edits

Kubernetes Version: 1.17.0

ETCD Version: 3.3.12

-- Leo Lazarus
etcd
fault-tolerance
high-availability
kubernetes

1 Answer

7/1/2021

Official Kubernetes documentation conforms to etcd's recommendations: to achieve fault tolerance of at least one node in etcd cluster, the etcd cluster size needs to be of at least 3 nodes (odd number). The same minimum is specified in the Kubernetes documentation (min 3 nodes dedicated to etcd cluster = the same number as master nodes).

You can also empirically test it yourself using this article.

-- Mikołaj Głodziak
Source: StackOverflow