사용자 지정 네트워크 설정과 함께 v1alpha3 API를 사용하여 TanzuKubernetesCluster를 프로비저닝하려면 예시 YAML을 참조하십시오.

v1alpha3 예시: 사용자 지정 네트워크 설정이 있는 TKC

네트워크는 다음과 같이 사용자 지정됩니다. 자세한 내용은 v1alpha3 API 규격을 참조하십시오.
  • 기본 Antrea 대신 Calico CNI가 사용됨
  • 포드 및 서비스에 대한 기본값이 아닌 서브넷이 사용됨
  • 프록시 서버 및 TLS 인증서가 선언됨
apiVersion: run.tanzu.vmware.com/v1alpha3
kind: TanzuKubernetesCluster
metadata:
  name: tkc-custom-network
  namespace: tkg2-cluster-ns
spec:
  topology:
    controlPlane:
      replicas: 3
      vmClass: guaranteed-medium
      storageClass: tkg-storage-policy
      tkr:
        reference:
          name: v1.25.7---vmware.3-fips.1-tkg.1
    nodePools:
    - name: worker
      replicas: 3
      vmClass: guaranteed-medium
      storageClass: tkg-storage-policy
      tkr:
        reference:
          name: v1.25.7---vmware.3-fips.1-tkg.1
      volumes:
      - name: containerd
        mountPath: /var/lib/containerd
        capacity:
          storage: 50Gi
      - name: kubelet
        mountPath: /var/lib/kubelet
        capacity:
          storage: 50Gi
  settings:
    storage:
      defaultClass: tkg-storage-policy
    network:
      cni:
        name: calico
      services:
        cidrBlocks: ["172.16.0.0/16"]
      pods:
        cidrBlocks: ["192.168.0.0/16"]
      serviceDomain: cluster.local
      proxy:
        httpProxy: http://<user>:<pwd>@<ip>:<port>
        httpsProxy: http://<user>:<pwd>@<ip>:<port>
        noProxy: [10.246.0.0/16,192.168.144.0/20,192.168.128.0/20]
      trust:
        additionalTrustedCAs:
          - name: CompanyInternalCA-1
            data: LS0tLS1C...LS0tCg==
          - name: CompanyInternalCA-2
            data: MTLtMT1C...MT0tPg==

TKC 포드 네트워크 사용자 지정을 위한 고려 사항

클러스터 규격 설정 spec.settings.network.pods.cidrBlocks의 기본값은 192.168.0.0/16입니다.

사용자 지정하는 경우 최소 포드 CIDR 블록 크기는 /24입니다. 하지만 pods.cidrBlocks 서브넷 마스크를 /16 이상으로 제한하는 경우에는 주의해야 합니다.

TKG는 각 클러스터 노드에 pods.cidrBlocks에서 분할된 /24 서브넷을 할당합니다. 이러한 할당은 클러스터의 노드 CIDR에 대한 서브넷 마스크 크기를 설정하는 NodeCIDRMaskSize라는 Kubernetes 컨트롤러 관리자 > NodeIPAMController 매개 변수에 의해 정의합니다. IPv4의 경우 기본 노드 서브넷 마스크는 /24입니다.

클러스터의 각 노드는 pods.cidrBlocks에서 /24 서브넷을 가져오기 때문에 프로비저닝 중인 클러스터에 너무 제한적인 서브넷 마스크 크기를 사용하면 노드 IP 주소가 부족해질 수 있습니다.

다음 노드 제한은 Antrea 또는 Calico CNI로 프로비저닝된 Tanzu Kubernetes 클러스터에 적합합니다.

/16 == 최대 150개 노드(ConfigMax당)

/17 == 최대 128개 노드

/18 == 최대 64개 노드

/19 == 최대 32개 노드

/20 == 최대 16개 노드

/21 == 최대 8개 노드

/22 == 최대 4개 노드

/23 == 최대 2개 노드

/24 == 최대 1개 노드