You can provide high-availability to Tanzu Kubernetes Grid clusters when they are deployed on a three vSphere Zone Supervisor. A vSphere Zone maps to a vSphere cluster, which means that when you deploy a Supervisor on three vSphere Zones, it utilizes the resources of all three underlying vSphere clusters. This protects your Kubernetes workloads running inside Tanzu Kubernetes Grid clusters against failure on a vSphere cluster level. On a single-zone deployment, high-availability for Tanzu Kubernetes Grid clusters is provided on an ESXi host level by vSphere HA.

In a three-zone Supervisor, control plane nodes of Tanzu Kubernetes Grid clusters are automatically placed across the vSphere Zones. However, you can control how worker nodes are spread across zones. You can define a NodePool object for the worker nodes of Tanzu Kubernetes Grid clusters and map each vSphere Zone to a FailureDomain within each NodePool. This way, Cluster API takes care to spread the worker nodes across vSphere Zones accordingly. If you skip specifying a FailureDomain for one or all NodePools, Cluster API spreads the NodePools across zones automatically.

Figure 1. High-Availability for Tanzu Kubernetes Grid Clusters on Multiple Zones

In the diagram, the worker nodes of a TKG cluster spread across three vSphere Zones depending on the vSphere Zone label assigned to the nodes.