请参阅示例 YAML,使用 v1alpha3 API 置备跨 vSphere 区域的 TanzuKubernetesCluster。

vSphere 区域和故障域

vSphere 区域提供了一种在 主管 上创建高可用性 TKG 2 集群的方法。如果要置备跨 vSphere 区域的 TKG 2 集群,必须为每个节点池提供故障域。

每个故障域映射到一个 vSphere 区域,因此 vSphere 区域将与一个 vSphere 集群相关联。故障域(也称为 vSphere 故障域)由 vSphere 管理员在创建 vSphere 区域时进行定义和管理。用于 TKG 集群的存储配置文件必须配置为 zonal。请参见为主管上的 TKG 2 集群创建 vSphere 存储策略

将具有副本的 Pod 部署到 TKG 2 集群时,Pod 实例将自动在 vSphere 区域间分布。在 TKG 集群上部署 POD 时,无需提供区域详细信息。

要检查 TKG 环境中 vSphere 区域的可用性,请从将置备 TKG 2 集群的 vSphere 命名空间 运行以下命令之一:
kubectl get vspherezones
kubectl get availabilityzones

这两个命令均可供 system:authenticated 用户使用。vSphere 区域是 主管 范围的资源,因此无需指定命名空间。

v1alpha3 示例:跨 vSphere 区域的 TKC

示例 YAML 将置备跨 vSphere 区域的 TKG 集群。

在此示例中,您将在每个 nodePool 的 failureDomain 参数中指定 vSphere 区域。参数的值是 vSphere 区域的名称。
apiVersion: run.tanzu.vmware.com/v1alpha3
kind: TanzuKubernetesCluster
metadata:
  name: tkc-zoned
  namespace: tkg2-cluster-ns
spec:
  topology:
    controlPlane:
      replicas: 3
      vmClass: guaranteed-medium
      storageClass: tkg2-storage-policy-zonal
      tkr:
        reference:
          name: v1.23.8---vmware.2-tkg.2-zshippable
    nodePools:
      - name: nodepool-a01
        replicas: 3
        vmClass: guaranteed-medium
        storageClass: tkg2-storage-policy-zonal
        failureDomain: az1
      - name: nodepool-a02
        replicas: 3
        vmClass: guaranteed-medium
        storageClass: tkg2-storage-policy-zonal
        failureDomain: az2
      - name: nodepool-a03
        replicas: 3
        vmClass: guaranteed-medium
        storageClass: tkg2-storage-policy-zonal
        failureDomain: az3
  settings:
    storage:
      defaultClass: tkg2-storage-policy-zonal
    network:
      cni:
        name: antrea
      services:
        cidrBlocks: ["198.51.100.0/12"]
      pods:
        cidrBlocks: ["192.0.2.0/16"]
      serviceDomain: cluster.local