사용자 지정 설정으로 v1beta1 클러스터를 프로비저닝하려면 이 예시를 참조하십시오.

v1beta1 예시: 기본 ClusterClass를 기반으로 하는 사용자 지정 클러스터

다음 예시 YAML은 v1beta1 API를 사용하여 변수를 사용하는 여러 사용자 지정 설정으로 클러스터를 프로비저닝하는 방법을 보여줍니다. 이 예시는 v1beta1 예: 기본 클러스터에 기반합니다.

이 예시에서는 containerd 및 kubelet과 같은 변동률이 높은 구성 요소에 대해 작업자 노드에서 영구 볼륨에 대한 변수를 사용합니다. 또한 vmClass 변수는 두 번 선언됩니다. workers.machineDeployments에 선언된 vmClass 변수는 작업자 노드가 더 큰 VM 클래스로 프로비저닝되도록 전역적으로 선언된 vmClass 변수를 덮어씁니다.
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