为NSX-T管理节点群集配置负载均衡器

    前段时间在上NSX-T的安装配置课程中,有同学问怎么给NSX-T的管理群集配置一个基于NSX-T的负载均衡器,本人在自己的测试环境里简单试了一下,整个过程并不难,记录如下,供感兴趣的朋友做个参考。

实验环境: NSX-T 3.0.0.0.0.15946738,因为没有足够的物理机,整个环境是基于vSphere虚拟化的平台搭建,主要组件配置及版本$ Z Q ] ~ (包括:
vCenter: 7.0.0(build:15952599)
NSj d 0 N c M A s 2X-T Transpd { p :ort Node: 一个Comp# ~ g o s Vute Cluster,一个Mgmt/Edge Cluster。每个群集三台ESj a ] C o /Xi主机, v7.0.0(build:15843807)。每一台ESXi主机分配4个vCPU+16GB内存,VMWARE Paravirtual 磁盘控制器挂接120GB VMDK,四块VMXNET3 vNic模拟四块万兆物理网卡。

    我们先回顾下NSX-T 管理群集访问方式:
  1. 直接以IP或者DNS名访问任何一台manage$ $ ( ~ Dr appliance虚机@ ^ B 5 [ [ L X @
  2. 为管理群集配置一个虚拟IP,管理员用这个地址对管理群集@ K ! U进行图形界面或者API访问。但这{ 3 0 ` } 0 C三台管理节点需要配置在一个网段,而且该虚拟地址被群集自动选出来的节点拥有,所以当有大量的API任务需要执行时,这种方式其实做不到在三台管理节点上做负载均衡的。
    为NSX-T管理节点群集配置负载均衡器
    为NSX-T管理节点群集配置负载均衡器
  3. 为管理群集0 U p @配置一个负载均衡器(如下图所示),- # O该负载均衡器可以是来自于NSX,也可以来自VMware认证的第三方产品。这样管理员通过负载均衡器的Virtual ServerB j 4访问管理群集,群集中三台虚机就可以灵活配置在不同网段,同时,通过Z s [ ; r k :负载均衡器,真正做到负载均衡和容错。给整个架构带来很大弹性和灵活度s l b x # g h本次实验的目的就是为管理群集添加一个NSX-T自己的负载均衡器
    为NSX-T管理节点群集配置负载均衡器
    图片来源:httI ~ j v P c = Ips://docs.vmware.com2 | $ L g 0 u r f/en/VMware-NSX-T-Data-Center/3.0/aP f 2 ? Y * dministration/GUID-46567C8D-A5C5-4793-8CDF-8589 | 1 [E58FDE3C4.html^ 4 H L

    接下来我们再回顾下NSX-T支持的负载均衡器的工作模式及组件。

    1. Inline模式。负载均衡器放置在从客户端(Client)到服务器端(Server)的访问通路上,这种方式不` A 4 q r需要配置SNAT,很_ : 4 / 0 S明显客户机和服务器也不能连接同一个T _ k M F1/T0 Gateway。W I T / Z G R
    为NSX-T管理节点群集配置负载均衡器
    图片来源:VMWARE 在线文档

2. One-Arm模式。这种方式给管理员提供了最g k ? N大的灵活性去放置负载均衡器。因为这种模式支持客户机(Client)^ 2 _ 6 d和服务器(Server)在网络架构里的任何地方。但正因如此,为了让从服务器返回的数据也^ H D & H P一定经过负载均衡器,保f / ( v {证负载均衡器的正常工作,所以一定需要配置SNAT。本次试验,基于我的实1 ~ A x 1 N 0 b验环境,单独配置了一个T1 Gateway,在其上配置一个负载n M s ? {均衡器,以One-Arm模式支持连接在外面物理管理网络的Manager Appliance群集,如下图示:
为NSX-T管理节点群集配置负载均衡器
图片来源:VMWARE 在线文档

3. 负载均衡器的主要组件包括:
(1) Virtual Server:对外提供服务的虚拟服务器,有自己的IP,以配置好的端口和协议对前端客户提供连接服务,并以管理员定义的负载均衡工作方式将连接请求转至后面的服务器池中的服务器上。
(2) Server pool:服务器池,提供具体服务的服务器的集合。
(3) Profile:管理员定义负载均衡器具体如何工作的规则集合。
(4) Monitors:管理员定义如何以主动或者被动的方式监控服务器池中成员的健康状态。

配置过程:

  1. 我这个环境只是测试使用,对于生产环境,做任何配置更改前请务必做好备份,可以借助NSX-T系统自带的备份工具周期性地做配置数据的备份。
    NSX3 l h / m f-T负载均衡器当前只能以Active-Standby模式连接到T1 Gateway上,所以先创建一个T] } L U1网关,连接到T0 网关,打开所需要的路由发送功能,尤其是负载均衡器对应r z g的路由,这样保证负载均衡器能通过T0网关连接到外部管理网络上的NSX-T管理群T m U a ^ 4 U集,具体配置如下图示:
    为NSX-T管理节点群集配置负载均衡器
    **需要注意Small Edge不能支持创建负载均衡器,至少需要Medium Ed% + r } n 0 z %ge。具体什么尺寸的Edge设备,能支持多少个负载均衡器,不在这里赘述,可参考VMware的配置指南:
    https://cob L # $ ~ r g v 5nfigmax.vmware.com/guest?vmwareproduct=VMware& H ( F%20NSX% @ t d-T&release=NSX-T%20Data%20Center%203.0.1&categories=17-0

  2. 接下来我们创建一个小型的负载均衡器,连接到刚创建的T1网关,并添加一个Virtual Server:
    为NSX-T管理节点群集配置负载均衡器

3.添t & 5 o加Virtual Server步骤如下图示,本试验中选D i 7 w A T s I择创建一个L4 TCP类型的虚拟服务器,并分配一 a J X B h S ?内部生产网段的IP:192.168.254.254/24,根据NSX Mgr群集工作特点,这里选择基于Source IP的Persistence连接,同时用系统自带的默认Profile,其余选项可根据具体场景再做选择。最后第五步是打开服务器池向导,创建一新的服务器池:
为NSX-T管理节点群集配置负载均衡器

4.按需选择负载均衡算法,Monitor,SNAT的方式(这里选择默认Automap,也可以定义一个IP池做SNAT),最后点击“Select Members“为该池添加NSX Manager Appliances成员,最后保存退出:
为NSX-T管理节点群集配置负载均衡器
为NSX-T管理节点群集配置负载均衡器

5.完成后等几分钟,负载均衡器初始化结束后,负载均衡器、Virtu8 O ` ^ ( | *al Server、ServeV H , = ` f mr Pool的状态都应该是“Success“:
为NSX-T管理节点群集配置负载均衡器
为NSX-T管理节点群集配置负载均衡器
为NSX-T管理节点群集配置负载均衡器

6.接下来我们就可以用Virtual Server的C w V jIP地址验证配置的负载均衡器能否正常工作了:
为NSX-T管理节点群集配置负载均衡器

7.另外需要注意,确保挂接负载均衡器的T1网关的路由信息已经被正确传递给了T0网关和外部的物理路i . * & w由器,可以从Manager Appliance的控制台里ping负载均衡器:
为NSX-T管理节点群集配置负载均衡器

8.在Edge设备或者NSX Manag` A - ber控制台里,都有丰富的命令帮助管理员对负载均衡器进行管理、查看、排错,以下是在Edge设备控制台里的截图:
为NSX-T管理节点群集配置负载均衡器

9.我们在部署了负载均衡器的edge设备上运行“get load-bala. + 1 * Zncer uuid9 d j”可查看负载均衡器的详细状态,包括在哪一台o V g M JEdge设备K b 5 , v上是“Active”,在哪一台Edge上是“Standby”:
为NSX-T管理节点群集配置负载均衡器

10.查看该负载均衡4 % U q Q v P @ W器的Persistence-table,即可知道当前哪一个NSX Manager虚| h % K机在为哪一个客户端服务:
为NSX-T管理节点群集配置负载均衡器

11.查看“SNAT-Pools”,可以看出使用默认的“Automap“方式,系统使用的是b n 6 HT1和T0之间互连用的Inter-tier地址做源地址转换:
为NSX-T管理节点群集配置负载均衡器
我们可以从T0 Gateway的“Linked T1 Gateway“里加以核实:
为NSX-T管理节点群集配置负载均衡器

12.运行“get logical-router”命令可看到对应负载均衡b e ? H ^ + w器的service router的UUID,然后可以查看其接口和状态,如下图示:
为NSX-T管理节点群集配置负载均衡器

13.我们在对应的Uplink端口做Packet capture,即可清楚地看到从客户端通过负载均衡器访问NSX Manager时,整个SNAT的过程,其中客户端地址是172.16.61.199,如下图示:
为NSX-T管理节点群集配置负载均衡器
至此,负载均衡器工作正常。这只t ~ j S是一个简单的功能性测试,如果大家有任何疑问,欢迎给我留言,我会尽快回复。另外,如需进一u } E [ A v步探讨,也欢迎发邮件到1261889143@qq.com。谢谢!