We’ve all heard this:
“Kubernetes requires at least 3 control plane nodes for high availability!”
But here’s the reality—that’s not always true.
Take AWS EKS, for example. It runs with only 2 API server nodes, not 3. However, it still ensures high availability.
So, what’s going on? 🤔
🔹 The real 3-node requirement comes from etcd, not Kubernetes itself. etcd, which stores the cluster state, follows Raft consensus and needs a quorum to function. That’s why AWS EKS runs 3 etcd nodes—to tolerate failures while maintaining consistency.
🔹 But the Kubernetes API Server, Scheduler, and Controller Manager don’t require quorum. That’s why AWS EKS can run just 2 API server nodes while keeping the control plane available.
💡 Takeaway?
Not every Kubernetes cluster follows the same HA model. Don’t blindly apply rules—understand why they exist.