HA Kubernetes Control Plane

Introduction

We strongly recommend that you deploy your control plane in a highly available configuration. Providing redundancy and fault tolerance minimizes downtime in the event of node failures or sudden workload spikes.

For production clusters, the recommended amount of control plane nodes is 5, but if you have a small cluster, you might be good with only 3. You shouldn't use just 1 control plane for anything more than a disposable test cluster.

With only two nodes, if one node fails or becomes unreachable, the cluster loses quorum, which can lead to a split-brain scenario where each node believes it's the leader. Below you can find a table showing the number of control planes your cluster can tolerate the failure of.

Amount of Control Plane NodesMaximum Nodes that can go down
10
20
31
41
52

Because of this, you should always aim to use an odd amount of control plane nodes to properly achieve an increase in availability.

Making Your Cluster Highly Available

You can edit your Cluster resource in the management cluster, or the cluster.yaml file in your GitOps repository, and change the spec.topology.controlplane.replicas to set the amount of control plane nodes you want. In the example below, we set it to 5.

cluster.yaml yaml