This site will be decommissioned on December 31st 2024. After that date content will be available at techdocs.broadcom.com.

NSX ALB 作為控制平面端點提供者

當與 Tanzu Kubernetes Grid 整合時,NSX ALB 可以提供端點 VIP 給叢集,並在叢集的控制平面節點上執行負載平衡。此功能還可讓您自訂叢集的 API 伺服器連接埠和端點 VIP 網路。

下表比較了 NSX ALB 與 Kube-Vip 上所支援的功能:

NSX ALB Kube-Vip
IPAM 的叢集端點 VIP 由 NSX ALB 提供
由客戶手動管理
控制平面節點的負載平衡 流量將負載平衡到所有控制平面節點
流量只會路由到主控制平面節點
API 伺服器的連接埠 任何連接埠 (預設值為 6443)
任何連接埠 (預設值為 6443)

將 NSX ALB 設定為叢集端點 VIP 提供者

若要將 NSX ALB 設定為管理叢集中的叢集端點 VIP 提供者,請執行以下動作:

  1. 建立管理叢集組態 YAML 檔案,並在該檔案中新增以下欄位:

    AVI_CONTROL_PLANE_HA_PROVIDER: true
    
    
  2. 如果您要對端點 VIP 使用靜態 IP 位址,請在檔案中新增以下欄位:

    VSPHERE_CONTROL_PLANE_ENDPOINT: <IP-ADDRESS>
    
    

    確定 VIP 存在於 VIP 網路中指定的靜態 IP 集區內。

  3. 如果要為 API 伺服器指定連接埠,請在檔案中新增以下欄位:

    AVI_CONTROL_PLANE_HA_PROVIDER: true
    CLUSTER_API_SERVER_PORT: <PORT-NUMBER>
    
    
    附註

    管理叢集及其工作負載叢集會使用此連接埠來連線至 API 伺服器。

  4. 使用 tanzu management-cluster create 命令來建立管理叢集。

現在,NSX ALB 已設定為管理叢集的端點 VIP 提供者。

若要將 NSX ALB 設定為工作負載叢集中的叢集端點 VIP 提供者,請執行以下動作:

  1. 建立工作負載叢集組態 YAML 檔案,並新增以下欄位:

    AVI_CONTROL_PLANE_HA_PROVIDER: true
    
  2. 如果您要對端點 VIP 使用靜態 IP 位址,請在檔案中新增以下欄位:

    AVI_CONTROL_PLANE_HA_PROVIDER: true
    VSPHERE_CONTROL_PLANE_ENDPOINT: <IP-ADDRESS>
    
    

    確定 VIP 存在於 VIP 網路中指定的靜態 IP 集區內。

  3. 使用 tanzu cluster create 命令來部署工作負載叢集。

現在,NSX ALB 已設定為工作負載叢集的端點 VIP 提供者。

叢集端點和工作負載服務的個別 VIP 網路

如果要在 NSX ALB Essentials Edition 上使用此功能,請確保所使用的網路未設定任何防火牆或網路原則。如果已在網路上設定防火牆或網路原則,請部署具有自動閘道功能的 NSX ALB Enterprise Edition 以使用此功能。

當使用 NSX ALB 來提供叢集端點 VIP 時,您可以為叢集端點和工作負載服務 (負載平衡器和入口) 的外部 IP 自訂 VIP 網路。您可以將它們劃分成不同的 VIP 網路,以增強安全性並滿足其他網路拓撲需求。

為管理叢集和工作負載叢集設定個別的 VIP 網路

下圖說明當為管理叢集和工作負載叢集設定個別的 VIP 網路時的網路拓撲:

管理叢集和工作負載叢集的個別 VIP 網路

若要為管理叢集和工作負載叢集設定個別的 VIP 網路,請執行以下動作:

  1. 建立管理叢集組態 YAML 檔案,並在該檔案中新增以下欄位:

    AVI_CONTROL_PLANE_HA_PROVIDER: true
    
    # Network used to place workload clusters' services external IPs (load balancer & ingress services)
    AVI_DATA_NETWORK:
    AVI_DATA_NETWORK_CIDR:
    
    # Network used to place workload clusters' endpoint VIPs
    AVI_CONTROL_PLANE_NETWORK:
    AVI_CONTROL_PLANE_NETWORK_CIDR:
    
    # Network used to place management clusters' services external IPs (load balancer & ingress services)
    AVI_MANAGEMENT_CLUSTER_VIP_NETWORK_NAME:
    AVI_MANAGEMENT_CLUSTER_VIP_NETWORK_CIDR:
    
    # Network used to place management clusters' endpoint VIPs
    AVI_MANAGEMENT_CLUSTER_CONTROL_PLANE_VIP_NETWORK_NAME:
    AVI_MANAGEMENT_CLUSTER_CONTROL_PLANE_VIP_NETWORK_CIDR:
    

    如需有關建立管理叢集組態檔的詳細資訊,請參閱建立管理叢集組態檔

  2. 使用 tanzu management-cluster create 命令來建立管理叢集。

叢集的端點 VIP 和負載平衡器服務的外部 IP 現在放置在不同的網路中。

為不同的工作負載叢集設定個別的 VIP 網路

下圖說明當為不同的工作負載叢集設定個別的 VIP 網路時的網路拓撲。

管理叢集和工作負載叢集的個別 VIP 網路

若要為不同的工作負載叢集設定個別的 VIP 網路,請執行以下動作:

  1. 建立 AKODeploymentConfig CR 物件,如以下範例所示:

    apiVersion: networking.tkg.tanzu.vmware.com/v1alpha1
    kind: AKODeploymentConfig
    metadata:
      name: install-ako-for-dev-cluster
    spec:
      adminCredentialRef:
        name: avi-controller-credentials
        namespace: tkg-system-networking
      certificateAuthorityRef:
        name: avi-controller-ca
        namespace: tkg-system-networking
      controller: 1.1.1.1
      cloudName: Default-Cloud
      serviceEngineGroup: Default-Group
      clusterSelector:             # match workload clusters with dev-cluster: "true" label
        matchLabels:
          dev-cluster: "true"
      controlPlaneNetwork:         # clusters' endpoint VIP come from this VIP network
        cidr: 10.10.0.0/16
        name: avi-dev-cp-network
      dataNetwork:                 # clusters' services external IP come from this VIP network
        cidr: 20.20.0.0/16
        name: avi-dev-dp-network
    
    
  2. 將變更套用在管理叢集上:

    kubectl --context=MGMT-CLUSTER-CONTEXT apply -f <FILE-NAME>
    
  3. 在工作負載叢集組態 YAML 檔案中,新增必要欄位,如以下範例所示:

    AVI_CONTROL_PLANE_HA_PROVIDER:  true
    AVI_LABELS: '{"dev-cluster": "true"}'
    
  4. 使用 tanzu cluster create 命令來建立工作負載叢集。

叢集的端點 VIP 和負載平衡器服務的外部 IP 現在放置在不同的網路中。

check-circle-line exclamation-circle-line close-line
Scroll to top icon