Reportez-vous à cet exemple pour provisionner un cluster v1beta1 avec des paramètres personnalisés.

Exemple v1beta1 : cluster par défaut basé sur la ClusterClass par défaut

L'exemple de YAML suivant montre comment utiliser l'API v1beta1 pour provisionner un cluster avec plusieurs paramètres personnalisés à l'aide de variables. Cet exemple s'appuie sur le Exemple v1beta1 : cluster par défaut.

L'exemple utilise des variables pour les volumes persistants sur les nœuds worker pour les composants à taux de variation élevé comme containerd et kubelet. En outre, la variable vmClass est déclarée deux fois. La variable vmClass déclarée dans workers.machineDeployments remplace la variable vmClass déclarée globalement afin que les nœuds worker soient provisionnés avec une classe de machine virtuelle plus élevée.
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