カスタム設定を使用して v1beta1 クラスタをプロビジョニングするには、この例を参照してください。

v1beta1 の例:デフォルトの ClusterClass に基づくカスタム クラスタ

次のサンプル YAML では、v1beta1 API を使用して、変数を使うカスタム設定をいくつか使用してクラスタをプロビジョニングする方法を示します。この例は、v1beta1 の例:デフォルト クラスタを基準にしています。

この例では、containerd や kubelet などの変更の多いコンポーネントについて、ワーカー ノード上のパーシステント ボリュームに対する値を使用しています。また、 vmClass 変数は 2 回宣言されます。 vmClass で宣言された workers.machineDeployments 変数が、グローバルに宣言された 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.0.2.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/kubelett
            storageClass: tkg-storage-profile