在三 vSphere 區域 主管 上部署 Tanzu Kubernetes Grid 叢集時,可以為這些叢集提供高可用性。一個 vSphere 區域對應到一個 vSphere 叢集,這意味著在三個 vSphere 區域上部署 主管 時,它將利用所有三個基礎 vSphere 叢集的資源。這樣可以防止在 Tanzu Kubernetes Grid 叢集中執行的 Kubernetes 工作負載在 vSphere 叢集層級發生故障。在單一區域部署中,vSphere HA 在 ESXi 主機層級為 Tanzu Kubernetes Grid 叢集提供高可用性。

在三區域 主管 中,Tanzu Kubernetes Grid 叢集的控制平面節點將自動跨 vSphere 區域放置。但是,可以控制 worker 節點在區域間的分散方式。可以為 Tanzu Kubernetes Grid 叢集的 worker 節點定義一個 NodePool 物件,並將每個 vSphere 區域對應到各個 NodePool 中的 FailureDomain。這樣一來,叢集 API 會小心地將 worker 節點相應地分散在 vSphere 區域中。如果略過為一個或所有 NodePool 指定 FailureDomain,叢集 API 會自動地將 NodePool 分散到各個區域。

圖 1. 多個區域中的 Tanzu Kubernetes Grid 叢集高可用性

在圖中,TKG 叢集的 worker 節點分佈在三個 vSphere 區域中,具體取決於指派給節點的 vSphere 區域標籤。