기본 Antrea CNI 대신 Calico CNI를 사용하여 v1beta1 클러스터를 프로비저닝하려면 이 예시를 참조하십시오. 이 예시에서는 클러스터에 대해 하나 이상의 TKR 패키지를 사용자 지정하는 방법에 대한 지침도 참조할 수도 있습니다.

v1beta1 예시: 사용자 지정 CNI를 사용하는 클러스터

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

tanzukubernetescluster ClusterClass에 정의된 대로 기본 CNI는 Antrea입니다. 지원되는 다른 CNI는 Calico입니다. CNI를 Antrea에서 Calico로 변경하려면 CalicoConfig 사용자 지정 리소스를 참조하는 ClusterBootstrap 사용자 지정 리소스를 생성하여 기본 CNI를 오버로드합니다.

ClusterBootstrap 사용자 지정 리소스에는 TKR에서 가져온 값과 함께 spec.cni.refName 블록이 포함됩니다. (이 필드에 대한 값을 가져오는 방법에 대한 지침은 TKr 패키지 항목을 참조하십시오.) ClusterBootstrap 값은 ClusterClass의 기본값을 덮어쓰며 클러스터가 생성될 때 CAPI(Cluster API)에 의해 선택됩니다. ClusterBootstrap 사용자 지정 리소스의 이름은 Cluster와 동일해야 합니다.
참고: 예시는 단일 YAML 파일로 제공되지만 개별 파일로 분리할 수 있습니다. 이렇게 하려면 먼저 CalicoConfig 사용자 지정 리소스를 생성한 다음 ClusterBootstrap, cluster-calico 클러스터 순으로 생성해야 합니다.
---
apiVersion: cni.tanzu.vmware.com/v1alpha1
kind: CalicoConfig
metadata:
  name: cluster-calico
spec:
  calico:
    config:
      vethMTU: 0
---
apiVersion: run.tanzu.vmware.com/v1alpha3
kind: ClusterBootstrap
metadata:
  annotations:
    tkg.tanzu.vmware.com/add-missing-fields-from-tkr: v1.23.8---vmware.2-tkg.2-zshippable
  name: cluster-calico
spec:
  cni:
    refName: calico.tanzu.vmware.com.3.22.1+vmware.1-tkg.2-zshippable
    valuesFrom:
      providerRef:
        apiGroup: cni.tanzu.vmware.com
        kind: CalicoConfig
        name: cluster-calico
---
apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
metadata:
  name: cluster-calico
spec:
  clusterNetwork:
    services:
      cidrBlocks: ["198.51.100.0/12"]
    pods:
      cidrBlocks: ["192.0.2.0/16"]
    serviceDomain: "cluster.local"
  topology:
    class: tanzukubernetescluster
    version: v1.23.8---vmware.2-tkg.2-zshippable
    controlPlane:
      replicas: 3
    workers:
      machineDeployments:
        - class: node-pool
          name: node-pool-1
          replicas: 3
    variables:
      - name: vmClass
        value: guaranteed-medium
      - name: storageClass
        value: tkg2-storage-policy