사용자 지정 네트워크 설정과 함께 v1alpha3 API를 사용하여 TanzuKubernetesCluster를 프로비저닝하려면 예시 YAML을 참조하십시오.
v1alpha3 예시: 사용자 지정 네트워크 설정이 있는 TKC
- 기본 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개 노드