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