請參閱範例 YAML,使用 v1alpha3 API 佈建具有自訂網路設定的 TanzuKubernetesCluster。

v1alpha3 範例:具有自訂網路設定的 TKC

按如下方式自訂網路。如需詳細資訊,請參閱 v1alpha3 API 規格
  • 使用 Calico CNI,而不使用預設的 Antrea
  • 對網繭和服務使用非預設子網路
  • 宣告 Proxy 伺服器和 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 子網路。此配置由 Kubernetes 控制器管理程式 > NodeIPAMController 參數 (名為 NodeCIDRMaskSize) 確定,此參數用於設定叢集中節點 CIDR 的子網路遮罩大小。對於 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 個節點