請參閱範例 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 個節點