安装和配置 NSX Advanced Load Balancer

NSX Advanced Load Balancer 部署拓扑

在 Tanzu Kubernetes Grid 中,NSX Advanced Load Balancer 包括以下组件:

  • Avi Kubernetes Operator (AKO) 为在 Kubernetes 集群中部署的应用程序提供 L4-L7 负载均衡,用于南北向流量。它侦听 Kubernetes Ingress 和服务类型 LoadBalancer 对象,并与 Avi 控制器 API 交互以创建 VirtualService 对象。
  • AKO Operator 是一个支持在 AKO 和集群 API 之间进行通信的应用程序。它管理 AKO 的生命周期,并为集群控制平面节点的负载均衡器提供通用接口。AKO 运算符仅在管理集群上部署。
  • 服务引擎 (SE) 以虚拟机规格实施数据平面。
  • 服务引擎组以一组服务引擎的形式提供隔离单元,例如,用于特定重要命名空间的专用 SE 组。这以需要创建的 SE(CPU、内存等)特定实例的形式提供控制,以及对允许的最大 SE 数的限制。
  • Avi 控制器管理 VirtualService 对象,并与 vCenter Server 基础架构进行交互以管理服务引擎 (SE) 的生命周期。它是用于查看 VirtualServices 和 SE 的运行状况以及 NSX Advanced Load Balancer 提供的关联分析的门户。它也是监控和维护操作(如备份和还原)的控制点。

Tanzu Kubernetes Grid 支持在单臂和多臂网络拓扑中部署的 NSX Advanced Load Balancer。

注意

如果要在多臂网络拓扑中部署 NSX ALB Essentials Edition,请确保未在为 Avi SE 和 Kubernetes 集群节点之间的通信配置的网络中配置任何防火墙或网络策略。要在部署了 NSX ALB 的多臂网络拓扑中配置任何防火墙或网络策略,需要启用了自动网关功能的 NSX Advanced Load Balancer 企业版。

下图所示为单臂 NSX ALB 部署:

VMware NSX Advanced Load Balancer 部署拓扑 - 单臂

下图所示为多臂 NSX ALB 部署:

VMware NSX Advanced Load Balancer 部署拓扑 - 多臂

网络

  • SE 可以部署在与数据路径相关的单臂或双臂模式下,同时连接到 VIP 网络和工作负载集群节点网络。如果要使用 NSX ALB Essentials Edition 在双臂网络拓扑中部署 SE,请确保未在要使用的网络中配置任何防火墙或网络策略。
  • VIP 网络和工作负载网络必须在同一个 vCenter Cloud 中可以发现,以便 Avi 控制器可以创建连接到这两个网络的 SE。
  • 从 VIP 网络分配 VIP 和 SE 数据接口 IP 地址。

IPAM

  • 如果 DHCP 不可用,则 VIP 的 IPAM 和 SE 接口 IP 地址由 Avi 控制器管理。
  • Avi 控制器中的 IPAM 配置文件配置了一个云和一组可用网络。
  • 如果没有为 VIP 网络配置 DHCP,则必须至少为目标网络创建一个静态池。

资源隔离

  • 可以使用 SE 组提供跨工作负载集群的数据平面隔离。vSphere 管理员可以配置专用 SE 组,并为需要隔离的一组工作负载集群配置该 SE 组。
  • SE 组能够控制 Avi 控制器创建的 SE 的资源特性,例如 CPU、内存等。

租户

通过 NSX Advanced Load Balancer Essentials,所有工作负载集群用户都与单管理员租户相关联。

Avi Kubernetes Operator

Avi Kubernetes Operator 安装在工作负载集群上。它配置了 Avi 控制器 IP 地址和 Avi Kubernetes Operator 用于与 Avi 控制器通信的用户凭据。将为每个工作负载创建一个具有管理员租户和自定义角色的专用用户。如 https://github.com/avinetworks/avi-helm-charts/blob/master/docs/AKO/roles/ako-essential.json 中定义,此角色具有有限的访问权限。

在 vCenter Server 上安装 Avi 控制器

要在 vCenter Server 上安装 Avi,请参见 Avi 文档中的 安装适用于 VMware vCenter 的 Avi Vantage

要在具有 VMware NSX 的 vCenter 上安装 Avi,请参见 Avi 文档中的安装适用于 VMware vCenter with NSX 的 Avi Vantage

注意

有关此版本支持的 Avi 控制器版本,请参见 Tanzu Kubernetes Grid v2.1 发行说明。要升级 Avi 控制器,请参见 Avi Vantage 的灵活升级

安装和配置 NSX ALB 的必备条件

要启用 Tanzu Kubernetes Grid NSX - Advanced Load Balancer 集成解决方案,您必须部署并配置 Avi 控制器。目前,Tanzu Kubernetes Grid 支持在 vCenter 云和 NSX-T 云中部署 Avi 控制器。

要确保 Tanzu Kubernetes Grid - NSX Advanced Load Balancer 集成解决方案正常工作,您的环境网络拓扑必须满足以下要求:

  • 应可从 vCenter、管理集群和工作负载集群访问 Avi 控制器。
  • Avi 控制器必须能够访问管理集群和工作负载集群中的 AKO,以请求 Avi 控制器实施负载均衡器类型的服务和输入的数据平面。
  • 必须可以从 SE 提供负载均衡数据平面的 Kubernetes 集群访问 Avi 服务引擎 (SE)。
  • Avi 服务引擎需要将流量路由到提供负载均衡功能的集群。

NSX Cloud

以下版本支持将 Tanzu Kubernetes Grid 与 NSX 和 NSX Advanced Load Balancer (Avi) 集成:

NSX Avi 控制器 Tanzu Kubernetes Grid
3.0+ 20.1.1+ 1.5.2+

Avi 控制器设置:IPAM 和 DNS

在使用 NSX Advanced Load Balancer 之前,请在控制器 UI 中配置其他设置。

  1. 在控制器 UI 中,转到模板 (Templates) > 配置文件 (Profiles) > IPAM/DNS 配置文件 (IPAM/DNS Profiles),单击创建 (Create) 并选择 IPAM 配置文件 (IPAM Profile)

    • 输入配置文件的名称,例如,tkg-ipam-profile
    • 类型 (Type) 设置为 Avi Vantage IPAM
    • 分配 VRF 中 IP (Allocate IP in VRF) 保持未选中状态。
    • 单击添加可用网络 (Add Usable Network)
    • 选择默认云 (Default-Cloud)
    • 对于可用的网络 (Usable Network),请选择要在其中分配虚拟 IP 的网络。如果使用平面网络拓扑,则它可以是您在上述过程中选择的相同网络(管理网络)。对于不同的网络拓扑,请为虚拟 IP 选择单独的端口组网络。
    • (可选)单击添加可用网络 (Add Usable Network) 以配置其他 VIP 网络。
    • 单击保存 (Save)

    配置 IPAM 和 DNS 配置文件

  2. IPAM/DNS 配置文件 (IPAM/DNS Profiles) 视图中,再次单击创建 (Create),然后选择 DNS 配置文件 (DNS Profile)

    注意

    对于使用服务类型 LoadBalancer,DNS 配置文件是可选的。

    • 输入配置文件的名称,例如,tkg-dns-profile
    • 对于类型 (Type),选择 AVI Vantage DNS
    • 单击添加 DNS 服务域 (Add DNS Service Domain) ,然后至少输入一个域名 (Domain Name) 条目,例如 tkg.nsxlb.vmware.com
      • 这应来自您可以管理的 DNS 域。
      • 对于工作负载集群的 L7 输入配置,这一点更为重要,在此配置中,控制器根据主机名路由流量。
      • 控制器管理的输入资源应使用属于您在此处选择的域名的主机名。
      • 此域名还用于 LoadBalancer 类型的服务,但如果使用 AVI DNS VS 作为名称服务器,该域名最相关。
      • 每个虚拟服务将在 AVI DNS 配置中创建一个条目。例如,service.namespace.tkg-lab.vmware.com
    • 单击保存 (Save)

    创建 DNS 配置文件

  3. 单击左上角的菜单,然后选择 基础架构 (Infrastructure) > 云 (Clouds)

  4. 对于默认云 (Default-Cloud),单击编辑图标,然后在 IPAM 配置文件 (IPAM Profile)DNS 配置文件 (DNS Profile) 下,选择您在上面创建的 IPAM 和 DNS 配置文件。

    将 IPAM 和 DNS 配置文件添加到云

  5. 选择数据中心 (DataCenter)选项卡。

    • 将 DHCP 保留为启用状态。这是按网络设置的。
    • IPv6…静态路由 (Static Routes)… 复选框保持未选中状态。
  6. 尚未更新网络 (Network) 部分。

  7. 保存云配置。
  8. 打开基础架构 (Infrastructure) > 云资源 (Cloud Resources) > 网络 (Networks),然后单击要用作 VIP 网络的网络编辑图标。

    编辑 VIP 网络的网络

  9. 此时将显示 IP 地址池中的可编辑 IP 范围列表。单击添加静态 IP 地址池 (Add Static IP Address Pool)

    编辑 VIP 网络地址池

  10. 输入要用作 VIP 网络的静态 IP 地址池的子网边界内的 IP 地址范围,例如,192.168.14.210-192.168.14.219。单击保存 (Save)

    输入 VIP 网络的 IP 池

(推荐)Avi 控制器设置:虚拟服务

如果要用于管理集群的 SE 组没有虚拟服务,则可能会建议没有为该 SE 组运行任何服务引擎。因此,管理集群部署过程必须等待要创建的服务引擎。创建服务引擎非常耗时,因为它需要部署新的虚拟机。在网络连接条件较差的情况下,这可能会导致内部超时,从而阻止管理集群部署过程成功完成。

为防止出现此问题,建议在部署管理集群之前,通过 Avi 控制器 UI 创建伪虚拟服务以触发服务引擎的创建。

要验证是否为 SE 组分配了虚拟服务,请在控制器 UI 中转到 基础架构 (Infrastructure) > 服务引擎组 (Service Engine Group),然后查看 SE 组的详细信息。如果 SE 组没有分配虚拟服务,请创建一个伪虚拟服务:

  1. 在控制器 UI 中,转到应用程序 (Applications) > 虚拟服务 (Virtual Service)

  2. 单击创建虚拟服务 (Create Virtual Service),然后选择基本设置 (Basic Setup)

  3. 配置 VIP:

    1. 选择自动分配 (Auto-Allocate)
    2. Avi 控制器设置:IPAM 和 DNS 中选择为您的 IPAM 配置文件配置的 VIP 网络 (VIP Network)VIP 子网 (VIP Subnet)
    3. 单击保存 (Save)
注意

成功部署管理集群后,可以删除伪虚拟服务。

有关创建虚拟服务的完整信息,以及创建虚拟服务所需的更多信息,请参见 Avi 网络文档中的创建虚拟服务

Avi 控制器设置:自定义证书

默认 NSX Advanced Load Balancer 证书在主体备用名称 (SAN) 中不包含控制器的 IP 或 FQDN,但必须在 Avi 控制器的证书中定义有效的 SAN。因此,您必须创建一个自定义证书,以在部署管理集群时提供。

  1. 在控制器 UI 中,单击左上角的菜单,选择模板 (Templates) > 安全 (Security) > SSL/TLS 证书 (SSL/TLS Certificates),单击创建 (Create),然后选择控制器证书 (Controller Certificate)
  2. 名称 (Name)常用名 (Common Name) 文本框中输入相同的名称。
  3. 选择自签名 (Self-Signed)
  4. 对于 子备用名称 (Subject Alternate Name, SAN),请输入控制器虚拟机的 IP 地址和/或 FQDN。

    如果您只使用 IP 地址或 FQDN,它必须与您在配置 Advanced Load Balancer 设置 VMware NSX Advanced Load Balancer 时用于控制器主机的值匹配,或者在管理集群配置文件中的 AVI_CONTROLLER 变量中指定的值匹配。

  5. 将其他字段留空,然后单击保存 (Save)
  6. 在左上角的菜单中,选择管理 (Administration) > 设置 (Settings) > 访问设置 (Access Settings),然后单击系统访问设置 (System Access Settings) 中的编辑图标。
  7. 删除 SSL/TLS 证书 (SSL/TLS Certificate) 中的所有证书。
  8. 使用 SSL/TLS 证书 (SSL/TLS Certificate) 下拉菜单添加上面创建的自定义证书。
  9. 在左上角的菜单中,选择模板 (Templates) > 安全 (Security) > SSL/TLS 证书 (SSL/TLS Certificate),选择您创建的证书,然后单击导出图标。
  10. 复制证书内容。

    在部署管理集群时,将需要证书内容。

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