NSX Advanced Load Balancer 与 Google Cloud Platform (GCP) 集成在一起,以便为 GCP 中的实例上运行的应用程序提供 IPAM 服务。本节介绍了如何创建 GCP 配置文件和配置 GCP IPAM。

注:

不支持 Linux 服务器云和 GCP 上的 GCP IPAM。

GCP IPAM 的必备条件

  • 在 GCP 上设置控制器和 SE 实例。

  • 在 Linux 云中安装 NSX Advanced Load Balancer。要将 GCP 作为 IPAM 提供程序,所有控制器和服务引擎实例必须在 Google Cloud 中运行。在 NSX Advanced Load Balancer 中选择的云类型必须为 Linux 服务器云。有关更多信息,请参阅在 Linux 服务器云中安装 NSX Advanced Load Balancer

  • GCP 使用基于 /32 的接口 IP 配置。要支持该配置,请在配置 Linux 服务器云后执行以下操作。

CLI 命令如下所示:

configure serviceengineproperties
se_runtime_properties
se_handle_interface_routes

service_ip_subnets subnet/mask
save
save

重新加载所有 SE 以使配置生效。

service_ip_subnets 配置可优化 SE 上的 Docker 路由。如果从多个子网中进行 VIP 分配,请指定所有这些子网。

配置 GCP IPAM

按如下方式,在 NSX Advanced Load Balancer 中创建并配置 GCP IPAM:

  1. 导航到模板 > 配置文件 > IPAM/DNS 配置文件

  2. 单击创建

  3. 输入 IPAM 配置文件的名称

  4. 类型选择 Google Cloud Platform IPAM,如下所示。



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

您可以通过以下方式之一创建 IPAM 配置文件:

方式 1:创建 GCP 云,并在创建 IPAM 期间选择该云

注:

作为创建 GCP IPAM 的必备条件,须使用以下输入内容创建一个名为“GCP 云”的云:

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

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

  • 区域

  • VPC 项目 ID

  • VPC 网络名称

  • VPC 子网名称

  • 云存储项目 ID

  • 云存储桶名称

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

  2. 类型下拉菜单中选择 Avi Vantage IPAM 选项,然后为字段选择之前创建的云,即 GCP 云

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



方式 2:

  1. 创建新的 GCP 云或编辑现有云。

  2. 导航到 IPAM/DNS 选项卡。

    1. IPAM 配置文件字段中,单击垂直省略号,然后单击创建



  3. 按照方式 1 中所示,配置新建 IPAM/DNS 配置文件

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

您可以按以下方式配置 GCP IPAM:

  1. 导航到基础架构 >

  2. 选择 Default-Cloud,然后单击编辑图标。

  3. 创建的 IPAM 将显示在 IPAM 配置文件下拉菜单中。选择 IPAM 配置文件

  4. 使用创建的服务引擎实例的 IP 地址配置一个 Linux 服务器云。

已配置 GCP IPAM,现在可以置备虚拟服务了。

注:
  • 在 GCP 上,虚拟服务仅支持 L3 扩展模式。

  • 一些 GCP 区域可能需要将 MTU 降低到 1400。

要在 SE 上设置 MTU,您可以使用以下 CLI 命令:

configure serviceengineproperties
se_runtime_properties
global_mtu 1400
save
save

在重新引导 SE 后,MTU 值将会生效。

分配浮动 IP

您可以使用以下 CLI 命令分配浮动 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。



自动分配浮动 IP

所有 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" : [ {
"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" : [ "" ]

共享 VIP

可以在同一个 IP 上创建共享 VIP,如下图中所示。



为 Kubernetes/OpenShift 配置 GCP IPAM

NSX Advanced Load Balancer 不支持 Kubernetes/OpenShift 云。