请参阅示例 YAML,使用 v1alpha3 API 置备具有自定义网络设置的 TanzuKubernetesCluster。

v1alpha3 示例:具有自定义网络设置的 TKC

按如下方式自定义网络。有关详细信息,请参阅 v1alpha3 API 规范
  • 使用 Calico CNI,而不使用默认的 Antrea
  • 对 Pod 和服务使用非默认子网
  • 声明代理服务器和 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 Pod 网络的注意事项

集群规范设置 spec.settings.network.pods.cidrBlocks 默认为 192.168.0.0/16。

如果自定义,则最小 Pod 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 个节点