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

vSphere 区域和故障域

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

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

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

要检查 TKG 环境中 vSphere 区域的可用性,请从将置备 TKG 集群的 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: tkg-cluster-ns
spec:
  topology:
    controlPlane:
      replicas: 3
      vmClass: guaranteed-medium
      storageClass: tkg2-storage-policy-zonal
      tkr:
        reference:
          name: v1.25.7---vmware.3-fips.1-tkg.1
    nodePools:
      - name: nodepool-a01
        replicas: 3
        vmClass: guaranteed-medium
        storageClass: tkg-storage-policy-zonal
        failureDomain: az1
      - name: nodepool-a02
        replicas: 3
        vmClass: guaranteed-medium
        storageClass: tkg-storage-policy-zonal
        failureDomain: az2
      - name: nodepool-a03
        replicas: 3
        vmClass: guaranteed-medium
        storageClass: tkg-storage-policy-zonal
        failureDomain: az3
  settings:
    storage:
      defaultClass: tkg-storage-policy-zonal
    network:
      cni:
        name: antrea
      services:
        cidrBlocks: ["198.51.100.0/12"]
      pods:
        cidrBlocks: ["192.0.2.0/16"]
      serviceDomain: cluster.local