Kubernetes Control Plane Design — Stretched Clusters

Vino Alex
2 min readJul 27, 2022

— — — — — — — — — — — — — — — — — — — — — -

Kubernetes High Availability Design — Rule:4

If Your Design Sounds Complex, there will be Alternatives

— — — — — — — — — — — — — — — — — — — — — — — — — — — —

In this fourth session [You may refer to Session-1, Session-2, Session-3]of the Kubernetes High Availability Design Series, let us discuss another High Available Deployment approach for the Kubernetes Control Plane Nodes. In the previous session, I discussed the popular and standard design of Kubernetes Control Plane Nodes, especially for Kubernetes Clusters in Enterprise Datacenter Installations.

Kubernetes Stretched Clusters

In Stretched Design Model, Control Plane Nodes and Worker Nodes of the same Kubernetes Cluster Deploy into Multiple Data Centers connected via High Bandwidth and Low Latency Fiber Optics Cables. Please refer to the previous Sessions of the Series to know the Cluster characteristics and Requirements of each Kubernetes Control Plane Components.

The key objective of the Stretched Cluster Design is to provide resiliency to the Kubernetes Clusters against the Datacenter level failures. To build a Production Ready KubernetesStreched Cluster, you need three Independent Geographically Separated Failure Domains (e.g., three Data Centers) having low latency connectivity.

Due to the Availability Zone Model of Public Clouds, Stretched Cluster is a typical deployment Pattern for Kubernetes Clusters on Major Cloud IaaS like AWS, Azure, GCP, etc.

But for Organizations building and Operating their own Data Centers, the approach increases the Cost and Complexity by manifolds, especially Network Connectivity between at least three DataCenters to meet the low latency and resiliency. The supportability of such a Deployment from your Kubernetes Distribution vendor is another design input to consider.

The following Diagram shows the Kubernetes Control Plane Deployment Patterns and Common Prerequisites for a Stretched Cluster.

Figure-1: Kubernetes Stretched Cluster

Figure-1: Kubernetes Stretched Cluster
Figure-1: Kubernetes Stretched Cluster

IMHO, As a Cloud Architect, you need to ask yourself, Do the Cost, Operational Overhead, and Redundancy of Datacenter components justify a Stretched Cluster Design?

In my experience, Instead of Kubernetes Stretched Clusters, Consider alternative Design Models. For example, Independent Kubernetes Clusters Deploy in each of those Datacenters. The design can leverage Cloud-Native Data Synchronization patterns and Global Service Routing to ensure High Availability for Application Services, and it will reduce the Opex and Complexity by manifolds.

Watch this space for the next part …

--

--