创建或编辑 vRealize Automation 云模板时,请为您的目标使用最合适的负载均衡器资源。
可以在云模板中使用 NSX 负载均衡器资源和云平台无关的负载均衡器资源,控制部署中的负载均衡。
云平台无关的负载均衡器可以跨多个云部署。特定于云的负载均衡器可以指定仅可用于特定云/拓扑的高级设置和功能。特定于云的属性在 NSX 负载均衡器 (Cloud.NSX.LoadBalancer) 资源类型中可用。如果在云平台无关的负载均衡器 (Cloud.LoadBalancer) 上添加这些属性,例如,在置备 Amazon Web Services 或 Microsoft Azure 负载均衡器时,会忽略这些属性;在置备 NSX-V 或 NSX-T 负载均衡器时,会遵守这些属性。根据 vRealize Automation 云模板中的条件,选择可用的负载均衡器资源类型之一。
无法将负载均衡器资源直接连接到设计画布中的安全组资源。
云平台无关的负载均衡器资源
如果要为任何类型的目标计算机指定网络特性,请使用云平台无关的负载均衡器。
Cloud.LoadBalancer
资源类型。默认资源显示为:
Cloud_LoadBalancer_1:
type: Cloud.LoadBalancer
properties:
routes: []
network: ''
instances: []
internetFacing: false
NSX 负载均衡器资源
如果云模板包含特定于 NSX-V 或 NSX-T 的特性(Policy API 或 Manager API 方法),请使用 NSX 负载均衡器。可以将一个或多个负载均衡器连接到 NSX-V 或 NSX-T 网络,或者连接到与 NSX-V 或 NSX-T 网络关联的计算机。
Cloud.NSX.LoadBalancer
资源类型。默认资源显示为:
Cloud_NSX_LoadBalancer_1:
type: Cloud.NSX.LoadBalancer
properties:
routes: []
network: ''
instances: []
云模板代码中的负载均衡器选项
将一个或多个负载均衡器资源添加到云模板后,可以指定以下设置。vRealize Automation 中的网络、安全资源和负载均衡器中提供了一些示例。
所有按需负载均衡器均支持 HTTP 协议。
只有与 NSX 模式设置为策略的 NSX-T 云帐户关联的按需负载均衡器才支持 HTTPS 协议。NSX 模式设置为管理器的 NSX-T 云帐户无法使用 HTTPS 协议。
- 计算机规范
可以指定要加入负载均衡池的指定计算机资源。或者,也可以指定特定的计算机网卡加入负载均衡器池。
此选项仅适用于 NSX 负载均衡器资源 (
Cloud.NSX.LoadBalancer
)。- resource.Cloud_Machine_1.id
指定负载均衡器包括云模板代码中标识为 Cloud_Machine_1 的计算机。
- resource.Cloud_Machine_2.networks[2].id
指定负载均衡器仅当在云模板代码中标识为 Cloud_Machine_2 的计算机部署到计算机网卡 Cloud_Machine_2.networks[2] 时才包括该计算机。
- resource.Cloud_Machine_1.id
- 日志记录级别
日志记录级别值指定错误日志的严重性级别。选项包括 NONE、EMERGENCY、ALERT、CRITICAL、ERROR、WARNING、INFO、DEBUG 和 NOTICE。日志记录级别值将应用于云模板中的所有负载均衡器。此选项特定于 NSX。对于具有父项的负载均衡器,父日志记录级别设置将覆盖其子项中的任何日志记录级别设置。
有关相关信息,请参见 NSX 产品文档中的添加负载均衡器等主题。
- 类型
使用负载均衡器类型可指定规模大小。默认值为小型。此选项特定于 NSX。对于具有父项的负载均衡器,父类型设置将覆盖其子项中的任何类型设置。
- 小型
相当于 NSX-V 中的精简型和 NSX-T 中的小型。
- 中型
相当于 NSX-V 中的大型和 NSX-T 中的中型。
- 大型
相当于 NSX-V 中的四倍大和 NSX-T 中的大型。
- 超大型
相当于 NSX-V 中的超大型和 NSX-T 中的大型。
有关相关信息,请参见 NSX 产品文档中的扩展负载均衡器资源等主题。
此选项适用于 NSX 负载均衡器资源 (
Cloud.NSX.LoadBalancer
)。 - 小型
- 算法(服务器池)
使用算法均衡方法可控制如何在服务器池成员之间分发入站连接。可以在服务器池使用该算法,也可以直接在服务器上使用。所有负载均衡算法均跳过满足以下任何条件的服务器:
- 管理状态设置为 DISABLED。
- 管理状态设置为 GRACEFUL_DISABLED,并且没有匹配的持久性条目。
- 主动或被动运行状况检查状态为 DOWN。
- 达到服务器池最大并发连接数的连接限制。
此选项特定于 NSX。
- IP_HASH
根据源 IP 地址的哈希值以及所有运行的服务器的总权重选择服务器。
相当于 NSX-V 和 NSX-T 中的 IP-HASH。
- LEAST_CONNECTION
根据服务器上已存在的连接数将客户端请求分发给多个服务器。新连接将发送到连接最少的服务器。将忽略服务器池成员权重,即使配置了这些权重也是如此。
相当于 NSX-V 中的 LEASTCONN 和 NSX-T 中的 LEAST_CONNECTION。
- ROUND_ROBIN
在能够处理入站客户端请求的可用服务器列表中循环遍历请求。忽略服务器池成员权重(即使已配置)。默认值。
相当于 NSX-V 和 NSX-T 中的 ROUND_ROBIN。
- WEIGHTED_LEAST_CONNECTION
为每个服务器分配一个权重值,此值表示该服务器相对于池中其他服务器的性能。此值可确定与池中其他服务器相比,向某个服务器发送的客户端请求数。此负载均衡算法侧重于使用权重值在可用服务器资源之间公平分配负载。默认情况下,如果未配置权重值且已启用缓慢启动,则权重值为 1。
相当于 NSX-T 中的 WEIGHTED_LEAST_CONNECTION。NSX-V 中无对应项。
- WEIGHTED_ROUND_ROBIN
为每个服务器分配一个权重值,此值表示该服务器相对于池中其他服务器的性能。此值可确定与池中其他服务器相比,向某个服务器发送的客户端请求数。此负载均衡算法侧重于在可用服务器资源之间公平分配负载。
相当于 NSX-T 中的 WEIGHTED_ROUND_ROBIN。NSX-V 中无对应项。
- URI
对 URI 左侧部分进行哈希并除以运行的服务器的总权重。结果指定了哪个服务器接收请求。这样可以确保如果没有服务器启动或关闭,URI 将始终定向到同一服务器。URI 算法参数具有两个选项:
uriLength=<len>
和uriDepth=<dep>
。长度参数范围应为1<=len<256
。深度参数范围应为1<=dep<10
。长度和深度参数后跟一个正整数。这些选项可以仅根据 URI 开头均衡服务器。长度参数指示算法只应考虑在 URI 开头定义的字符以计算哈希值。深度参数指示用于计算哈希值的最大目录深度。请求中的每个斜杠都会计为一个级别。如果指定了两个参数,在到达其中一个参数时,计算将停止。相当于 NSX-V 中的 URI。NSX-T 中无对应项。
- HTTPHEADER
在每个 HTTP 请求中查找 HTTP 标头名称。括号中的标头名称不区分大小写。如果标头不存在或不包含任何值,将应用循环算法。HTTPHEADER 算法参数具有一个选项:
headerName=<name>
。相当于 NSX-V 中的 HTTPHEADER。NSX-T 中无对应项。
- URL
在每个 HTTP GET 请求的查询字符串中查找参数中指定的 URL 参数。如果参数后跟等号 = 和一个值,则对该值进行哈希并除以运行的服务器的总权重。结果指定了哪个服务器接收请求。该过程用于跟踪请求中的用户标识符,并确保始终将相同的用户 ID 发送到相同的服务器,但前提是没有启动或关闭服务器。如果找不到任何值或参数,则应用循环算法。URL 算法参数具有一个选项:
urlParam=<url>
。相当于 NSX-V 中的 URL。NSX-T 中无对应项。
有关信息,请参见 NSX 产品文档中的添加用于负载均衡的服务器池。
- 运行状况监控器
使用运行状况监控器选项可测试服务器是否可用。支持 HTTP、ICMP、TCP 和 UDP 协议的主动运行状况监控。被动运行状况监控仅适用于 NSX-T。
此选项特定于 NSX。
- httpMethod
HTTP 方法,用于检测运行状况检查请求的服务器状态。方法包括 GET、HOST、OPTIONS、HEAD 或 PUT。
- requestBody
运行状况检查请求正文内容。由 HTTP、TCP 和 UDP 协议使用且为必需项。
- responseBody
运行状况检查预期响应正文内容。如果收到的字符串与此响应正文匹配,则服务器将视为处于正常状态。由 HTTP、TCP 和 UDP 协议使用且为必需项。
注: 如果使用 UDP 监控协议,则需要UDP Data Sent
和UDP Data Expected
参数。requestBody
和responseBody
属性将映射到这些参数。此选项适用于 NSX 负载均衡器资源 (
Cloud.NSX.LoadBalancer
)。有关相关信息,请参见 NSX 产品文档中的配置主动运行状况监控器等主题。
- httpMethod
- 运行状况检查
使用运行状况检查选项可指定负载均衡器如何执行运行状况检查。
此选项仅适用于 NSX 负载均衡器资源 (
Cloud.NSX.LoadBalancer
)。有关可用运行状况检查设置的示例,请参见 vRealize Automation 中的网络、安全资源和负载均衡器。
NSX-V 和 NSX-T 网络类型和负载均衡器选项
负载均衡器选项取决于负载均衡器资源在云模板中与之关联的网络。可以根据网络类型和网络条件配置负载均衡器。
- 按需网络
如果负载均衡器计算资源连接到按需网络,则会创建新的 Tier-1 路由器并将其连接到网络配置文件中指定的 Tier-0 路由器。负载均衡器随后将连接到第 1 层路由器。如果 VIP 位于现有网络上,则启用 Tier-1 路由器 VIP 通告。如果为 DHCP 配置了按需网络,则按需网络和负载均衡器将共享 Tier-1 路由器。
- 现有网络
如果负载均衡器连接到现有网络,将使用现有网络的第 1 层路由器创建负载均衡器。如果没有任何负载均衡器连接到第 1 层路由器时,则会创建新的负载均衡器。如果负载均衡器已存在,则新的虚拟服务器会连接到该负载均衡器。如果现有网络未连接到第 1 层路由器,将创建新的第 1 层路由器并将其连接到网络配置文件中指定的第 0 层路由器,并且第 1 层路由器 VIP 通告未启用。
vRealize Automation 不支持在两个不同的现有网络上使用 NSX-T 双臂负载均衡器(内嵌负载均衡器)。请注意,在双臂负载均衡器场景中,VIP 上行链路位于现有网络上,而池成员计算机连接到按需网络。要在使用现有网络时指定负载均衡,必须配置单臂负载均衡器,其中将对负载均衡器 VIP 和池成员计算机使用同一个现有网络。但是,从 vRealize Automation 8.4.2 开始,如果使用在网络配置文件中选择的负载均衡器,若两个不同的现有网络之间建立了连接,则可以在两个现有网络上的计算机之间进行负载均衡。
- 网络配置文件中定义的网络隔离
对于
outbound
或private
网络类型,可以在网络配置文件中指定网络隔离设置以模拟新的安全组。由于计算机连接到现有网络并且在配置文件中定义隔离设置,此选项类似于在现有网络中创建的负载均衡器。区别在于,为了启用数据路径,会将第 1 层上行链路端口 IP 添加到隔离安全组中。
可以在云模板设计中使用 NSX 负载均衡器资源为 NSX 关联的网络指定负载均衡器设置。
要了解更多信息,请参见 VMware 博客帖子 vRA Cloud Assembly 负载均衡器与 NSX-T 配合使用深入探讨。
NSX-T 负载均衡器配置文件持久性
在多个负载均衡器共享 NSX-T 第 1 层或 NSX-V Edge 时重新配置日志记录级别或类型设置
使用包含多个负载均衡器(在 NSX-T 端点中共享第 1 层路由器或在 NSX-V 端点中共享 Edge 路由器)的云模板时,在其中一个负载均衡器资源中重新配置日志记录级别或类型设置不会更新其他负载均衡器的设置。不匹配的设置会导致 NSX 中存在不一致。为避免在重新配置这些日志记录级别和/或类型设置时出现不一致,请对云模板中的所有负载均衡器资源(在关联的 NSX 端点中共享第 1 层或 Edge)使用相同的重新配置值。
可用的实施后操作
横向缩减/扩展包含负载均衡器的部署时,该负载均衡器会配置为包含新添加的计算机或停止对指定为卸除目标的计算机进行负载均衡。
有关可用于云模板和部署的常用实施后操作列表,请参见可以对 Cloud Assembly 部署运行哪些操作。
了解更多
有关在网络配置文件中定义负载均衡器设置的信息,请参见了解有关 vRealize Automation中的网络配置文件的更多信息。
有关包含负载均衡器的云模板设计示例,请参见 vRealize Automation 中的网络、安全资源和负载均衡器。