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:
导航到
。单击创建。
输入 IPAM 配置文件的名称。
为类型选择 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
云存储桶名称
在新建 IPAM/DNS 配置文件屏幕中,指定配置文件名称。
从类型下拉菜单中选择 Avi Vantage IPAM 选项,然后为云字段选择之前创建的云,即 GCP 云。
添加可用网络,然后单击保存。
方式 2:
创建新的 GCP 云或编辑现有云。
导航到 IPAM/DNS 选项卡。
在 IPAM 配置文件字段中,单击垂直省略号,然后单击创建。
按照方式 1 中所示,配置新建 IPAM/DNS 配置文件。
在编辑云屏幕中单击保存,以完成云配置。
您可以按以下方式配置 GCP IPAM:
导航到
。选择 Default-Cloud,然后单击编辑图标。
创建的 IPAM 将显示在 IPAM 配置文件下拉菜单中。选择 IPAM 配置文件。
使用创建的服务引擎实例的 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 云。