请参阅示例 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