本节介绍了如何将 NSX Advanced Load Balancer 平台与 Azure 虚拟机 (VM) 规模集相集成。

此集成主要涉及以下两个部分:

  • 配置池

  • 配置虚拟服务

NSX Advanced Load Balancer 的池和虚拟服务设置将按照以下部分中的说明进行自定义,以实施自动缩放策略。一种例外情况是,Azure 使用内置策略实现自动缩放。

概述

NSX Advanced Load Balancer 池是一组具有相似特征或托管相似应用程序的后端服务器。在 NSX Advanced Load Balancer 与 Azure 的集成中,将通过缩小或扩大 NSX Advanced Load Balancer 池来反映 Azure 为管理特定规模集而执行的操作。这些操作由 Azure 的预配置策略和条件控制。有关 Azure 虚拟机规模集的更多信息,请参阅什么是 Azure 中的虚拟机规模集?

背景

NSX Advanced Load Balancer 支持通过 Azure 规模集为虚拟服务配置 NSX Advanced Load Balancer 池。NSX Advanced Load Balancer Azure 云连接器会定期轮询 Azure 规模集信息,如果发生任何更改,即会更新相应的 NSX Advanced Load Balancer 池服务器成员资格。

例如,如果将新的服务器(虚拟机)添加到用作 NSX Advanced Load Balancer 池的 Azure 规模集,NSX Advanced Load Balancer 会自动更新池成员资格以包含新置备的服务器。相反,从 Azure 规模集中删除服务器(虚拟机)时,NSX Advanced Load Balancer 会从其池成员资格中删除此服务器。这样,无需操作员干预或配置更新,即可实现对后端服务器资源的无缝、弹性和自动化管理。

必备条件

  • Azure 凭据资产需要具有规模集的访问权限。凭据资产可以是服务主体对象(对于应用程序),也可以是用户名/密码凭据集。有关 Azure 角色定义的更多信息,请参阅 Azure 角色和权限

  • 在 Azure 中配置了规模集。

配置池设置

  1. 导航到应用程序 >

  2. 单击创建池,并在出现提示时选择“Azure 云”。

  3. 输入池名称,并在默认服务器端口正常禁用超时负载均衡持久性字段中输入合适的值。

  4. 填写其他必填字段,然后单击保存

自动缩放策略

要将 NSX Advanced Load Balancer 与 Azure 虚拟机规模集相集成,需通过定义缩减和扩展条件与警示来配置自动缩放策略。

要创建新策略,请单击自动缩放策略选项卡的下拉菜单,然后选择创建

图 1.

新建自动缩放策略弹出窗口中,填写以下字段:

  • 名称 – 输入策略的相关名称。

  • 实例 – 输入缩放过程中的最小和最大服务器数。

  • 扩展

    • 警示 – 单击下拉菜单以选择预定义的警示。要创建新警示,请参阅下面的“创建警示”一节。

    • 冷却期 – 输入发出警示后仍不触发新扩展的持续时间(以秒为单位)。

    • 调整幅度 – 输入要同时扩展的服务器数量。

  • 缩减

    • 警示 – 单击下拉菜单以选择预定义的警示。要创建新警示,请参阅下面的“创建警示”一节。

    • 冷却期 – 输入发出警示后仍不触发新缩减的持续时间(以秒为单位)。

    • 调整幅度 – 输入要同时缩减的服务器数量。

    图 2.

在显示的示例中,冷却期配置为 300 秒,调整幅度设置为 1。因此,在触发一个扩展或缩减事件后,系统会在等待 300 秒后再触发新事件。将调整幅度设置为 1 时,对于每个扩展或缩减事件,服务器数量将分别递增或递减 1。

创建警示

要为扩展或缩减事件创建自定义警示,请执行以下操作:

  1. 单击警示下拉菜单,然后选择创建,如下所示:



  2. 基本信息部分中,填写以下字段:

    1. 输入警示配置的名称

    2. 选中启用事件触发器复选框,以便为配置的警示激活触发器。

    3. (可选)输入所配置警示的描述



  3. 条件部分中,填写以下字段:

    1. 限制警示 – 输入自上次触发后禁止此警示的时间(以秒为单位)。

    2. – 选择衡量指标选项,以在后续部分中配置合适的衡量指标参数。

    3. 对象 – 从提供的选项(“虚拟服务”、“服务引擎”和“池”)中进行选择。在此示例中,未选择任何选项。

    4. 单击自动缩放警示,以便为自动缩放事件激活此警示。

    5. 发生次数 – 输入要生成警示,应在指定时间范围内达到或超过的事件数。允许的范围是 1 到 65536。

    6. 类别 – 选择滚动窗口以定义衡量指标参数和时间范围。仅当在此时间范围内的事件数达到或超过定义的限制时,才会生成警示。选择实时可定义衡量指标参数,而无需定义时间范围。这会实时检查衡量指标触发器。

    7. 满足衡量指标 – 单击下拉菜单以从事件 ID 列表中进行选择。在比较运算符持续时间字段中输入相关值,以完成衡量指标配置。屏幕截图中的示例为 l4_server.max_open_conns 事件(表示允许打开的最大 L4 连接数)配置了一个衡量指标。在此示例中,如果打开的 L4 连接数在 300 秒的持续时间内达到或超过 500,则会触发警示。

    8. 单击 +添加新的衡量指标,以创建更多事件触发器。您可以通过使用“和”与“或”条件,来配置新的衡量指标与已配置的衡量指标之间的关系。



  4. 操作部分中,填写以下字段:

    1. 警示操作 – 单击下拉菜单以选择预定义的警示操作,或单击创建警示操作以创建新操作。单击“编辑”图标可自定义操作参数。

    2. 警示过期时间 – 输入所配置警示的过期时间(以秒为单位)。



自动缩放启动配置

  1. 单击自动缩放启动配置下拉菜单,然后选择 default-autoscalelaunchconfig,这表示用于进行自动缩放的服务器由外部生态系统托管,例如在此示例中,由 Azure 云托管。



  2. 单击“下一步”。

  3. 要创建新的自动缩放启动配置,请单击创建

  4. 提供名称,并选中使用外部 ASG 复选框。



配置池服务器

  • 选择服务器下,选择 Azure 规模集选项。单击 自动缩放组下拉菜单,其中将列出在 Azure 上为指定云配置的规模集。

  • 单击下一步以配置放置设置池满设置池故障设置



  • 单击下一步以检查配置,然后单击保存以完成配置。集成 Azure 虚拟机规模集的池配置部分到此结束。

配置虚拟服务

  1. 导航到应用程序 > 虚拟服务,然后单击创建虚拟服务。您可以选择基本高级设置,以将配置的虚拟服务映射到 Azure 规模集。

  2. 要配置基本设置,请执行以下操作:

    1. 选择 Azure 特定的资源组。

    2. 添加服务器部分下,选择 Azure 规模集

    3. 自动缩放组下的下拉菜单中选择相应资源组。

    4. 选择特定组时,配置的服务器将在 服务器部分下显示。

  3. 高级设置下进行配置时,提供了一个用于为特定虚拟服务分配所配置的 Azure 池的选项。

    1. 要选择 Azure 池,请在部分下选择,然后从下拉菜单中选择配置的 Azure 池。



    2. 单击下一步,以导航到虚拟服务配置的其余部分。

    3. 单击保存以完成配置。

使用 Azure 策略执行自动缩放

可使用 Azure 策略执行自动缩放,而不是使用 NSX Advanced Load Balancer 中定义的自动缩放策略

从导航窗格中,选择应用程序,然后单击。单击创建池,并在出现提示时选择“Azure 云”。

输入池名称,并在默认服务器端口正常禁用超时负载均衡持久性字段中输入合适的值。

自动缩放策略字段保持为未选中状态,然后单击下一步,以按照配置池服务器部分中所述配置池服务器。



由于未在 NSX Advanced Load Balancer 中定义任何自动缩放策略,因此将通过在 Azure 上配置的策略执行自动缩放。

配置自动缩放轮询间隔

要启用自动缩放轮询间隔,请登录到 NSX Advanced Load Balancer CLI,然后在“configure cloud Default-Cloud”模式下执行 autoscale_polling_interval <duration in seconds> 命令。

[admin:10-1-1-1]: > configure cloud Default-Cloud
[admin:10-1-1-1]: cloud > autoscale_polling_interval 120
[admin:10-1-1-1]: cloud > save

轮询间隔的持续时间为 120 秒。