在 Tanzu Kubernetes Grid 中,NSX Advanced Load Balancer 包括以下组件:
LoadBalancer
对象,并与 Avi 控制器 API 交互以创建 VirtualService
对象。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 部署:
下图所示为多臂 NSX ALB 部署:
通过 NSX Advanced Load Balancer Essentials,所有工作负载集群用户都与单管理员租户相关联。
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,请参见 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 的灵活升级。
要启用 Tanzu Kubernetes Grid NSX - Advanced Load Balancer 集成解决方案,您必须部署并配置 Avi 控制器。目前,Tanzu Kubernetes Grid 支持在 vCenter 云和 NSX-T 云中部署 Avi 控制器。
要确保 Tanzu Kubernetes Grid - NSX Advanced Load Balancer 集成解决方案正常工作,您的环境网络拓扑必须满足以下要求:
以下版本支持将 Tanzu Kubernetes Grid 与 NSX 和 NSX Advanced Load Balancer (Avi) 集成:
NSX | Avi 控制器 | Tanzu Kubernetes Grid |
---|---|---|
3.0+ | 20.1.1+ | 1.5.2+ |
在使用 NSX Advanced Load Balancer 之前,请在控制器 UI 中配置其他设置。
在控制器 UI 中,转到模板 (Templates) > 配置文件 (Profiles) > IPAM/DNS 配置文件 (IPAM/DNS Profiles),单击创建 (Create) 并选择 IPAM 配置文件 (IPAM Profile)。
tkg-ipam-profile
。在 IPAM/DNS 配置文件 (IPAM/DNS Profiles) 视图中,再次单击创建 (Create),然后选择 DNS 配置文件 (DNS Profile)。
注意对于使用服务类型
LoadBalancer
,DNS 配置文件是可选的。
tkg-dns-profile
。tkg.nsxlb.vmware.com
。
LoadBalancer
类型的服务,但如果使用 AVI DNS VS 作为名称服务器,该域名最相关。service.namespace.tkg-lab.vmware.com
。单击左上角的菜单,然后选择 基础架构 (Infrastructure) > 云 (Clouds)。
对于默认云 (Default-Cloud),单击编辑图标,然后在 IPAM 配置文件 (IPAM Profile) 和 DNS 配置文件 (DNS Profile) 下,选择您在上面创建的 IPAM 和 DNS 配置文件。
选择数据中心 (DataCenter)选项卡。
尚未更新网络 (Network) 部分。
打开基础架构 (Infrastructure) > 云资源 (Cloud Resources) > 网络 (Networks),然后单击要用作 VIP 网络的网络编辑图标。
此时将显示 IP 地址池中的可编辑 IP 范围列表。单击添加静态 IP 地址池 (Add Static IP Address Pool)。
输入要用作 VIP 网络的静态 IP 地址池的子网边界内的 IP 地址范围,例如,192.168.14.210-192.168.14.219
。单击保存 (Save)。
如果要用于管理集群的 SE 组没有虚拟服务,则可能会建议没有为该 SE 组运行任何服务引擎。因此,管理集群部署过程必须等待要创建的服务引擎。创建服务引擎非常耗时,因为它需要部署新的虚拟机。在网络连接条件较差的情况下,这可能会导致内部超时,从而阻止管理集群部署过程成功完成。
为防止出现此问题,建议在部署管理集群之前,通过 Avi 控制器 UI 创建伪虚拟服务以触发服务引擎的创建。
要验证是否为 SE 组分配了虚拟服务,请在控制器 UI 中转到 基础架构 (Infrastructure) > 服务引擎组 (Service Engine Group),然后查看 SE 组的详细信息。如果 SE 组没有分配虚拟服务,请创建一个伪虚拟服务:
在控制器 UI 中,转到应用程序 (Applications) > 虚拟服务 (Virtual Service)。
单击创建虚拟服务 (Create Virtual Service),然后选择基本设置 (Basic Setup)。
配置 VIP:
注意成功部署管理集群后,可以删除伪虚拟服务。
有关创建虚拟服务的完整信息,以及创建虚拟服务所需的更多信息,请参见 Avi 网络文档中的创建虚拟服务。
默认 NSX Advanced Load Balancer 证书在主体备用名称 (SAN) 中不包含控制器的 IP 或 FQDN,但必须在 Avi 控制器的证书中定义有效的 SAN。因此,您必须创建一个自定义证书,以在部署管理集群时提供。
对于 子备用名称 (Subject Alternate Name, SAN),请输入控制器虚拟机的 IP 地址和/或 FQDN。
如果您只使用 IP 地址或 FQDN,它必须与您在配置 Advanced Load Balancer 设置 VMware NSX Advanced Load Balancer 时用于控制器主机的值匹配,或者在管理集群配置文件中的 AVI_CONTROLLER
变量中指定的值匹配。
复制证书内容。
在部署管理集群时,将需要证书内容。