组织了解 Web 规模和云原生架构的优势,包括灵活性、敏捷性、速度、自动化、弹性扩展和成本效益。虽然他们可以为应用程序部署实现这些优势,但传统的网络和应用程序服务解决方案却无法实现基础架构堆栈的端到端优势。

私有云、公有云和混合云部署以及异构环境(裸机服务器、虚拟机、容器)的出现要求为软件定义的环境构建下一代架构。



版本支持

NSX Advanced Load Balancer 支持 Contrail 集成。有关受支持版本的更多信息,请参阅VMware NSX Advanced Load Balancer 安装指南》中的“OpenStack 支持列表”主题。

功能和优势

  • 架构一致性使 Juniper 能够与 NSX Advanced Load Balancer 解决方案无缝集成,从而实现智能自动化

  • 通过从 L2 到 L7 的完全自动化,企业实现了其基础架构的自动化。它们可以快速且经济有效地响应激增的需求,而不会停机,从而能够快速部署和扩展应用程序

  • 通过对应用程序性能和最终用户体验的精细可见性,以及对历史和实时应用程序分析的访问,管理员能够在几分钟内对网络事件进行故障排除

  • 高性能网络解决方案,支持功能齐全的软件定义的数据中心

  • ECMP 支持将流量路由到后端服务器

集成

NSX Advanced Load Balancer 控制器 是使用 REST API 与 Contrail 集成的单一集成点。在控制器的初始配置期间,管理员需要提供 OpenStack 凭据和 Contrail API 服务器端点 URL。此后,控制器将完全自动完成整个部署。在应用程序或网络管理员配置应用程序负载均衡器时,控制器会自动创建 SE,将正确的覆盖网络中的虚拟网络接口 (vNIC) 添加到服务引擎,并调用 Contrail API 以将虚拟 IP (VIP) 放置在这些 vNIC 上,而无需任何手动干预。随着应用程序流量的增加,控制器会通过创建或增加 SE,并通过与 OpenStack 和 Contrail 集成将这些 SE 放置在正确的网络中来实现扩展。

交互



NSX Advanced Load Balancer 与 Contrail 之间的所有交互都是通过在 NSX Advanced Load Balancer 控制器 和 Contrail API 服务器之间启动的 API 调用来执行的。  在 NSX Advanced Load Balancer 的 OpenStack 云设置期间,可以选择 Contrail 以及 Contrail API 服务器的 IP 或端点 URL。控制器使用其 OpenStack 凭据对发送到 Contrail 的 API 消息进行身份验证,将通过 SSL 来确保其安全和加密。

每当需要更改网络或 IP 时,都会从 NSX Advanced Load Balancer 向 Contrail 发送 API 调用。  可能需要执行的操作示例包括创建新的虚拟服务或删除 VS、启动新的服务引擎或故障切换服务引擎。在每种情况下,NSX Advanced Load Balancer 控制器 都会对负载均衡基础架构进行相应的配置更改,并向 Contrail 发送消息以采取相应的操作来配置网络。在网络编程失败时,NSX Advanced Load Balancer 会记录对象(如虚拟服务)的事件,并将其标记为关闭或脱机(因为无法将其放置在网络中)。

将从 NSX Advanced Load Balancer 向 Neutron 和/或 Contrail 发送调用,具体取决于任务。NSX Advanced Load Balancer 支持使用配置驱动或元数据服务来读取虚拟机属性。默认情况下,NSX Advanced Load Balancer 会先尝试配置驱动,但会使用 OpenStack 环境支持的方法。

浮动 IP 和 VIP 管理

NSX Advanced Load Balancer 可以通过在额外的 SE 上动态扩展或缩减虚拟服务来管理虚拟服务的负载均衡容量。默认情况下,虚拟服务的主 SE 在辅助 SE 之间协调流量流的分布,包括其自身。在具有 Contrail 的 OpenStack 上,NSX Advanced Load Balancer 可以在虚拟服务放置过程中利用 Contrail 的 ECMP 支持来管理 ECMP 路由的编排。

ECMP 可以发生在以下位置:

  1. 上游 Edge 路由器(例如 Juniper MX 等)

  2. 主机 Hypervisor 上的 Contrail vRouter

虚拟服务创建

使用以下 NSX Advanced Load Balancer CLI 创建名为 vs2 的虚拟服务(或者使用 NSX Advanced Load Balancer UI):

configure pool vs2_pool
servers ip 20.0.0.3 port 80
New object being created
save
cloud_ref jvnc2
tenant_ref demo
save

configure virtualservice vs2
pool_ref vs2_pool
cloud_ref jvnc2
tenant_ref demo
vip vip_id 0
New object being created
auto_allocate_ip
subnet a834986a-385e-4616-9d9c-6b91cfaa51e0
save
services
services port 80
New object being created
save
save
+----------------------------------+-----------------------------------------------------+
| Field                            | Value                                               |
+----------------------------------+-----------------------------------------------------+
| uuid                             | virtualservice-2f8770d0-20cc-477f-9419-b206b9624389 |
| name                             | vs2                                                 |
| scaleout_ecmp                    | True                                                |
| vip[1]                           |                                                     |
|   vip_id                         | 0                                                   |
|   ip_address                     | 19.1.1.7                                            |
|   enabled                        | True                                                |
|   network_ref                    | 02b846e6-cd68-4c84-b7ab-3709946ed28b                |
|   port_uuid                      | c0e4cb54-8706-4bed-97bb-271a603f858f                |
|   subnet_uuid                    | a834986a-385e-4616-9d9c-6b91cfaa51e0                |
|   subnet                         | 19.1.1.0/24                                         |
|   auto_allocate_ip               | True                                                |
|   auto_allocate_floating_ip      | False                                               |
...
+----------------------------------+-----------------------------------------------------+

以下摘要输出显示 vs2 在一个名为 Avi-se-czpey.的 SE 上运行。

show virtualservice vs2 summary
+-----------------------+-----------------------------------------+
| Field                 | Value                                   |
+-----------------------+-----------------------------------------+
| oper_status           |                                         |
|   state               | OPER_UP                                 |
| percent_ses_up        | 100                                     |
| vip_summary[1]        |                                         |
|   vip_id              | 0                                       |
|   oper_status         |                                         |
|     state             | OPER_UP                                 |
|   service_engine[1]   |                                         |
|     ref               | Avi-se-czpey                            |
|     primary           | True                                    |
...
+-----------------------+-----------------------------------------+

作为集成解决方案的相互技术联盟,Juniper Networks 和 NSX Advanced Load Balancer Networks 实现了对 SDN 的承诺:从网络层 (L2-3) 一直到应用程序层 (L4-7),为企业和服务提供商提供敏捷性、自动化、成本效益和扩展。网络和服务可以自动快速置备和扩展,以便与 OpenStack 和其他编排框架可能实现的应用程序和基础架构自动化相匹配。