本节介绍了如何通过公用 IP 支持在 Google Cloud Platform (GCP) 中置备和配置 NSX Advanced Load Balancer 以进行网络负载均衡。

注:

NSX Advanced Load Balancer 不支持 Linux 服务器云和 GCP 上的 GCP IPAM。

关于 Google Cloud Platform (GCP)

Google Cloud Platform 是一种云计算服务,它在 Google 在内部用于最终用户产品(例如搜索和 YouTube)的相同支持基础架构上提供托管服务。Cloud Platform 为开发人员提供了一些产品,以构建包括简单网站和复杂应用程序在内的各种程序。

GCP 是 Google Cloud 企业服务套件的一部分,提供了一组基于云的模块化服务以及一系列开发工具,包括托管和计算、云存储、数据存储、转换 API 和预测 API。

关于 NSX Advanced Load Balancer

NSX Advanced Load Balancer 为内部部署和公有云基础架构提供企业级分布式 ADC 解决方案。它还提供内置的分析功能以诊断和改善最终用户应用程序体验,从而帮助网络管理员更轻松地运行应用程序。

NSX Advanced Load Balancer 是一个完整的软件解决方案,它在商用 x86 服务器上运行或作为虚拟机运行,并且完全可以通过 REST API 调用进行访问。

网络负载均衡

网络负载均衡用于根据入站 IP 协议数据(如地址、端口和协议类型)来均衡系统上的负载。

网络负载均衡功能

  • 网络负载均衡使用指向目标池的转发规则,这些规则会列出可进行负载均衡的实例,并定义必须对这些实例执行的运行状况检查类型。

  • 网络负载均衡是一种非代理的区域负载均衡器。使用网络负载均衡,可以在 SSL 代理和 TCP 代理负载均衡器不支持的端口上对 UDP 流量和 TCP 及 SSL 流量进行负载均衡。

  • 网络负载均衡器是直通负载均衡器。它不会代理来自客户端的连接。

网络负载均衡的限制

  • 不支持协议更新。

  • 无运行状况检查。这会导致故障切换增多。网络负载均衡运行状况检查仅支持 HTTP,因此无法对所有类型的应用程序使用。

  • 子网路由方案不适用于网络负载均衡器。

配置 IPAM

配置区域名称 (region_name) 和项目 (project_name),即服务引擎所在的位置以及将在其中创建网络负载均衡器的位置。



要编辑 IPAM 配置文件,请执行以下操作:

  1. NSX Advanced Load Balancer UI 上,导航到模板 > IPAM/DNS 配置文件

  2. 单击要编辑的 IPAM 配置文件(类型Google Cloud Platform IPAM)旁边的编辑图标。此时将显示编辑 IPAM/DNS 配置文件屏幕。

  3. 选择手动配置,然后输入项目区域详细信息,如下图所示:



  4. 单击保存

NSX Advanced Load Balancer 版本 22.1.3 开始,可以使用以下 UI:



  • 服务引擎项目 ID - 项目 A(SE 的项目名称)

  • 服务引擎区域 - 区域 A(SE 的区域名称)

  • 区域

  • VPC 项目 ID

  • VPC 网络名称

  • VPC 子网名称

  • 云存储项目 ID

  • 云存储桶名称

1. 在 新建 IPAM/DNS 配置文件屏幕中,指定配置文件名称。

2. 为类型字段选择 Avi Vantage IPAM

3. 添加可用的网络,然后单击保存

编辑云以添加 IPAM 配置文件

要将 GCP IPAM 添加到 Linux 服务器云,请编辑 Default-Cloud,并选择已创建的 IPAM 提供程序作为 GCP IPAM 提供程序。



NSX Advanced Load Balancer 版本 22.1.3 开始,可以使用以下 UI:

  1. 您可以在编辑云时添加 IPAM 配置文件,如下所示:



  2. 导航到 IPAM/DNS 选项卡。在 IPAM 配置文件字段中,从下拉菜单中选择已创建的 IPAM 配置文件。

  3. 编辑云屏幕中单击保存,以完成云配置。

编辑现有云。

转发规则

在 GCP 中,一个虚拟服务将用作一个网络负载均衡器。这意味着,一个虚拟服务将具有一个包含 GCP 外部 IP 的转发规则作为前端,以及一个包含服务引擎的目标池作为后端。

++Truncated Output++
+------------------------------------+-----------------------------------------------------+
[admin:10-146-43-2]: virtualservice> vip index 1
[admin:10-146-43-2]: virtualservice:vip> auto_allocate_floating_ip
Overwriting the previously entered value for auto_allocate_floating_ip
[admin:10-146-43-2]: virtualservice:vip> save
[admin:10-146-43-2]: virtualservice> save
++ Truncated Output++


注:

目前,仅支持通过 CLI 分配浮动 IP。在未来版本中将纳入 UI 支持。



自动分配 FIP

NLB 的所有 GCP 资源都将在 SE 项目中进行创建。仅支持自动分配浮动 IP。

++Truncated Output++
[2018-07-16 06:48:08,717] INFO [gcp_nlb.allocate_vip:63] old_vip_info: vip {
addr: "55.55.55.100"
type: V4
}
alloc_fip: false
|| new_vip_info: vip {
addr: "55.55.55.100"
type: V4
}
alloc_fip: true

可使用 Swagger API 通过 PUT 请求自动分配浮动 IP,以用于网络负载均衡 VIP/虚拟服务,如下所示:

"vip" : [ {
"availability_zone" : "aeiou",
"ip6_address" : "",
"subnet" : "",
"port_uuid" : "aeiou",
"subnet_uuid" : "aeiou",
"avi_allocated_vip" : true,
"vip_id" : "aeiou",
"ip_address" : "",
"auto_allocate_floating_ip" : true, *
"enabled" : true,
"floating_subnet6_uuid" : "aeiou",
"auto_allocate_ip" : true,
"subnet6" : "",
"floating_ip" : "",
"floating_subnet_uuid" : "aeiou",
"avi_allocated_fip" : true,
"subnet6_uuid" : "aeiou",
"floating_ip6" : "",
"ipam_network_subnet" : "",
"network_ref" : "aeiou",
"discovered_networks" : [ "" ]

有关从 NSX Advanced Load Balancer API 文档访问 OpenAPI (Swagger 2.0) 的更多信息,请参阅 OpenAPI (Swagger 2.0) 规范集成

要了解浮动 IP 的状态是否为 UP,请执行以下操作:

  1. NSX Advanced Load Balancer UI 上,单击虚拟服务选项卡。

  2. 单击分配了浮动 IP 的虚拟服务以将其选中。

  3. 在指向选定的虚拟服务时,将出现一个弹出屏幕,其中显示浮动 IP 的状态为 UP



该虚拟服务扩展到两个不同的服务引擎,如下所示:



与网络负载均衡器共享 VIP

创建的网络负载均衡器具有端口 1-65535,因此可以在相同的 IP 上创建共享 VIP,如下所示: