Refer to this example to provision a v1beta1 Cluster on Supervisor deployed across three vSphere Zones.

v1beta1 Example: Cluster Across vSphere Zones

The following example YAML uses the v1beta1 API to provision a Cluster in a vSphere Zone topology. This example builds on the v1beta1 Example: Default Cluster.

This example implements multiple worker node pools. Each node pool references a failure domain that maps to a vSphere Zone. For more information on vSphere Zones, see Installing and Configuring vSphere IaaS Control Plane.

Caution:

The IP addresses are examples only. You need to provide your own IP addresses suitable for your network environment.

apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
metadata:
  name: cluster-zoned
  namespace: tkg-cluster-ns
spec:
  clusterNetwork:
    services:
      cidrBlocks: ["10.96.0.0/12"]
    pods:
      cidrBlocks: ["192.168.0.0/16"]
    serviceDomain: "cluster.local"
  topology:
    class: tanzukubernetescluster
    version: v1.30.1---vmware.1-fips-tkg.5
    controlPlane:
      replicas: 3
    workers:
      #muliple node pools are used
      machineDeployments:
        - class: node-pool
          name: node-pool-1
          replicas: 3
          #failure domain the machines will be created in
          #maps to a vSphere Zone; name must match exactly
          failureDomain: vsphere-zone1
        - class: node-pool
          name: node-pool-2
          replicas: 3
          #failure domain the machines will be created in
          #maps to a vSphere Zone; name must match exactly
          failureDomain: vsphere-zone2
        - class: node-pool
          name: node-pool-3
          replicas: 3
          #failure domain the machines will be created in
          #maps to a vSphere Zone; name must match exactly
          failureDomain: vsphere-zone3
    variables:
      - name: vmClass
        value: guaranteed-medium
      - name: storageClass
        value: tkg-storage-policy