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

v1beta1 예: 기본 클러스터

다음 예시 YAML은 v1beta1 API를 사용하여 기본 ClusterClass를 기반으로 기본 클러스터를 생성합니다.

이 예시는 v1beta1 API를 사용하여 클러스터를 생성하는 데 필요한 최소 구성을 나타냅니다. 이 예시에는 각 필드에 대한 설명이 주석으로 표시되어 있습니다. 자세한 내용은 소스 코드를 참조하십시오.

이 예시에서는 다음 사항에 유의하십시오.
  • v1alpha3 API와 달리 v1beta1 API를 사용하려면 clusterNetwork를 지정해야 합니다. 클러스터 유형에 대한 기본 네트워크 설정은 없습니다.
  • 기본 ClusterClass는 tanzukubernetescluster이며, Cluster v1beta1 API에 설명되어 있습니다.
  • 각 이름-값 쌍인 variables를 사용하여 클러스터를 사용자 지정할 수 있습니다. 예시와 같이 최소한 VM 및 스토리지 클래스를 변수로 지정해야 합니다.
  • 기술적으로 선택 사항이지만 이 예시에는 defaultStorageClass 변수도 포함되어 있습니다. Tanzu 패키지 및 Helm 차트를 비롯한 많은 워크로드에서 클러스터에 기본 스토리지 클래스를 프로비저닝해야 하기 때문입니다.
apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
#define the cluster
metadata:
  #user-defined name of the cluster; string
  name: cluster-default
  #kubernetes namespace for the cluster; string
  namespace: tkg-cluster-ns
#define the desired state of cluster
spec:
  #specify the cluster network; required, there is no default
  clusterNetwork:
    #network ranges from which service VIPs are allocated
    services:
      #ranges of network addresses; string array
      #CAUTION: must not overlap with Supervisor
      cidrBlocks: ["198.51.100.0/12"]
    #network ranges from which Pod networks are allocated
    pods:
      #ranges of network addresses; string array
      #CAUTION: must not overlap with Supervisor
      cidrBlocks: ["192.0.2.0/16"]
    #domain name for services; string
    serviceDomain: "cluster.local"
  #specify the topology for the cluster
  topology:
    #name of the ClusterClass object to derive the topology
    class: tanzukubernetescluster
    #kubernetes version of the cluster; format is TKR NAME
    version: v1.24.9---vmware.1-tkg.4
    #describe the cluster control plane
    controlPlane:
      #number of control plane nodes
      #integer value 1 or 3
      #NOTE: Production clusters require 3 control plane nodes
      replicas: 3
    #describe the cluster worker nodes
    workers:
      #specifies parameters for a set of worker nodes in the topology
      machineDeployments:
        #node pool class used to create the set of worker nodes
        - class: node-pool
          #user-defined name of the node pool; string
          name: node-pool-1
          #number of worker nodes in this pool; integer 0 or more
          replicas: 3
    #customize the cluster
    variables:
      #virtual machine class type and size for cluster nodes
      - name: vmClass
        value: guaranteed-medium
      #persistent storage class for cluster nodes
      - name: storageClass
        value: tkg-storage-policy
      # default storageclass for control plane and worker node pools
      - name: defaultStorageClass
        value: tkg-storage-policy