Consulte este ejemplo para aprovisionar un clúster v1beta1 con una configuración personalizada.

Ejemplo de v1beta1: clúster personalizado basado en la ClusterClass predeterminada

El siguiente ejemplo de YAML demuestra cómo utilizar la API de v1beta1 para aprovisionar un clúster con varias opciones de configuración personalizadas mediante variables. Este ejemplo se basa en Ejemplo de v1beta1: clúster predeterminado.

En el ejemplo se utilizan variables de volúmenes persistentes en nodos de trabajo para componentes de renovación alta como containerd y kubelet. Además, la variable vmClass se declara dos veces. La variable is vmClass que se declara en workers.machineDeployments sobrescribe la variable vmClass que se declara globalmente para que los nodos de trabajo se aprovisionen con una clase de máquina virtual más grande.
apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
metadata:
  name: cluster-custom
  namespace: tkg-cluster-ns
spec:
  clusterNetwork:
    services:
      cidrBlocks: ["198.51.100.0/12"]
    pods:
      cidrBlocks: ["192.2.0.0/16"]
    serviceDomain: "cluster.local"
  topology:
    class: tanzukubernetescluster
    version: v1.25.7---vmware.3-fips.1-tkg.1
    controlPlane:
      replicas: 3
    workers:
      machineDeployments:
        - class: node-pool
          name: node-pool-1
          replicas: 3
          variables:
            overrides:
            - name: vmClass
              value: guaranteed-xlarge
    variables:
      - name: vmClass
        value: guaranteed-medium
      - name: storageClass
        value: tkg-storage-profile
      - name: defaultStorageClass
        value: tkg-storage-profile
      - name: nodePoolVolumes
        value:
          - name: containerd
            capacity:
              storage: 50Gi
            mountPath: /var/lib/containerd
            storageClass: tkg-storage-profile
          - name: kubelet
            capacity:
              storage: 50Gi
            mountPath: /var/lib/kubelet
            storageClass: tkg-storage-profile