其他分享
首页 > 其他分享> > 为NSX-T管理节点群集配置负载均衡器

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

作者:互联网

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

实验环境: NSX-T 3.0.0.0.0.15946738,因为没有足够的物理机,整个环境是基于vSphere虚拟化的平台搭建,主要组件配置及版本包括:
vCenter: 7.0.0(build:15952599)
NSX-T Transport Node: 一个Compute Cluster,一个Mgmt/Edge Cluster。每个群集三台ESXi主机, v7.0.0(build:15843807)。每一台ESXi主机分配4个vCPU+16GB内存,VMWARE Paravirtual 磁盘控制器挂接120GB VMDK,四块VMXNET3 vNic模拟四块万兆物理网卡。

    我们先回顾下NSX-T 管理群集访问方式:
  1. 直接以IP或者DNS名访问任何一台manager appliance虚机。
  2. 为管理群集配置一个虚拟IP,管理员用这个地址对管理群集进行图形界面或者API访问。但这三台管理节点需要配置在一个网段,而且该虚拟地址被群集自动选出来的节点拥有,所以当有大量的API任务需要执行时,这种方式其实做不到在三台管理节点上做负载均衡的。
    为NSX-T管理节点群集配置负载均衡器
    为NSX-T管理节点群集配置负载均衡器
  3. 为管理群集配置一个负载均衡器(如下图所示),该负载均衡器可以是来自于NSX,也可以来自VMware认证的第三方产品。这样管理员通过负载均衡器的Virtual Server访问管理群集,群集中三台虚机就可以灵活配置在不同网段,同时,通过负载均衡器,真正做到负载均衡和容错。给整个架构带来很大弹性和灵活度。本次实验的目的就是为管理群集添加一个NSX-T自己的负载均衡器
    为NSX-T管理节点群集配置负载均衡器
    图片来源:https://docs.vmware.com/en/VMware-NSX-T-Data-Center/3.0/administration/GUID-46567C8D-A5C5-4793-8CDF-858E58FDE3C4.html

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

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

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

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

配置过程:

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

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

3.添加Virtual Server步骤如下图示,本试验中选择创建一个L4 TCP类型的虚拟服务器,并分配一内部生产网段的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.完成后等几分钟,负载均衡器初始化结束后,负载均衡器、Virtual Server、Server Pool的状态都应该是“Success“:
为NSX-T管理节点群集配置负载均衡器
为NSX-T管理节点群集配置负载均衡器
为NSX-T管理节点群集配置负载均衡器

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

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

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

9.我们在部署了负载均衡器的edge设备上运行“get load-balancer uuid”可查看负载均衡器的详细状态,包括在哪一台Edge设备上是“Active”,在哪一台Edge上是“Standby”:
为NSX-T管理节点群集配置负载均衡器

10.查看该负载均衡器的Persistence-table,即可知道当前哪一个NSX Manager虚机在为哪一个客户端服务:
为NSX-T管理节点群集配置负载均衡器

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

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

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

标签:负载,群集,配置,Server,NSX,均衡器
来源: https://blog.51cto.com/yddfwq/2529223