Fare riferimento a questo esempio per eseguire il provisioning di un cluster v1beta1 con impostazioni personalizzate.

Esempio v1beta1: cluster personalizzato basato su ClusterClass predefinita

Il file YAML di esempio seguente illustra come utilizzare l'API v1beta1 per eseguire il provisioning di un cluster con diverse impostazioni personalizzate utilizzando le variabili. Questo esempio si basa su Esempio v1beta1: cluster predefinito.

L'esempio utilizza le variabili per i volumi persistenti sui nodi di lavoro per i componenti soggetti ad alta rotazione come containerd e kubelet. Inoltre, la variabile vmClass viene dichiarata due volte. La variabile vmClass dichiarata in workers.machineDeployments sovrascrive la variabile vmClass dichiarata globalmente in modo che i nodi di lavoro vengano sottoposti a provisioning con una classe di macchine virtuali più 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