透過在 主管 上設定可路由命名空間網路並將 antrea-nsx-routed 指定為叢集的 CNI,可以建立具有可路由網繭網路的 TanzuKubernetesCluster。

關於可路由網繭網路

使用 antreacalico CNI 外掛程式佈建 Tanzu Kubernetes 叢集時,系統會建立預設網繭網路 192.168.0.0/16。此子網路是私人位址空間,僅在叢集內是唯一的,且無法在網路上進行路由。

TKG v1alpha3 API 支援可使用 antrea-nsx-routed CNI 外掛程式進行路由的網繭網路。此網路介面是一個自訂 Antrea 外掛程式,設定為支援 TKG 叢集的可路由網繭網路。在叢集規格中,網繭 CIDR 區塊欄位必須明確為 Null,以便 IP 位址管理 (IPAM) 由 主管 處理。請參閱以下範例。

透過啟用可路由網繭網路,可以將網繭直接從外部用戶端定址到叢集。此外,還會保留網繭 IP 位址,以便外部網路服務和伺服器可以識別來源網繭,並根據 IP 位址套用原則。支援的流量模式包括以下內容:
  • 允許同一 vSphere 命名空間 中的 TKG 叢集網繭與 vSphere 網繭 之間的流量。
  • 捨棄不同 vSphere 命名空間 中的 TKG 叢集網繭與 vSphere 網繭 之間的流量。
  • 主管 控制平面節點可連線至 TKG 叢集網繭。
  • TKG 叢集網繭可連線至外部網路。
  • 外部網路無法連線至 TKG 叢集網繭。叢集節點上的分散式防火牆 (DFW) 隔離規則捨棄流量。

建立可路由網繭網路:主管 組態

若要建立可路由網繭網路,則需要在 主管 和 TKG 叢集上進行設定。
備註: 必須為 主管 設定 NSX,才能使用可路由網繭網路。無法將可路由網繭與 VDS 網路搭配使用。
若要在 主管 上設定可路由網繭網路,請執行以下作業:
  1. 建立新的 vSphere 命名空間

    請參閱建立 vSphere 命名空間 以託管 TKG 服務 叢集

  2. 選取此核取方塊選項以覆寫主管網路設定

    請參閱覆寫 vSphere 命名空間 的工作負載網路設定以取得指引。

  3. 按如下所示設定可路由的網繭網路。
    欄位 說明
    NAT 模式 取消選取此選項,可停用網路位址轉譯 (NAT),因為您使用的是可路由子網路。
    命名空間網路 CIDR

    命名空間網路 CIDR 是作為 vSphere 命名空間的 IP 集區運作的子網路。命名空間子網路首碼說明從該 IP 集區中獲得的任何後續 CIDR 區塊的大小。

    在此欄位中填入格式為 IP 位址/位元 (例如 10.0.0.6/16) 的可路由 IP 子網路。NCP 將從為網路指定的 IP 區塊建立一或多個 IP 集區。

    您至少應指定 /23 子網路大小。例如,如果使用 /28 子網路首碼指定 /23 可路由子網路,您將獲得 32 個子網路,這對 6 個節點的叢集來說應該足夠。首碼為 /28 的 /24 子網路將僅獲得 2 個子網路,這還不夠。

    命名空間子網路首碼

    命名空間子網路首碼說明從該命名空間網路 IP 集區中獲得的任何後續 CIDR 區塊的大小。

    例如,以 /28 形式指定子網路首碼。

  4. 按一下建立,來建立可路由網繭網路。

建立可路由網繭網路:TKG 叢集組態

下列範例 YAML 顯示如何為叢集設定可路由的網繭網路。

叢集規格會將 antrea-nsx-routed 宣告為 CNI,以啟用可路由的網繭網路。如果已指定 antrea-nsx-routed,則在未使用 NSX-T 網路的情況下,叢集佈建將會失敗。

指定 CNI 為 antrea-nsx-routed 時, pods.cidrBlock 欄位必須為空白。
apiVersion: run.tanzu.vmware.com/v1alpha3
kind: TanzuKubernetesCluster
metadata:
  name: tkc-routable-pods
  namespace: tkg-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-nodepool-a1
      replicas: 3
      vmClass: guaranteed-large
      storageClass: tkg-storage-policy
      tkr:  
        reference:
          name: v1.25.7---vmware.3-fips.1-tkg.1
  settings:
    storage:
      defaultClass: tkg-storage-policy
    network:
      #antrea-nsx-routed is the required CNI
      cni:
        name: antrea-nsx-routed
      services:
        cidrBlocks: ["10.97.0.0/24"]
      #pods.cidrBlocks must be null (empty)
      pods:
        cidrBlocks:
      serviceDomain: cluster.local