跳转到: 导航, 搜索

Neutron/LBaaS/HavanaPlan

< Neutron‎ | LBaaS

1. 与服务类型框架的集成

- amend LBaaS extension and DB model to work with service type parameter (VIP, pool)
- integrate service types with LBaaS plugin to use service types in (2)
- client support for service types

相关蓝图
https://blueprints.launchpad.net/quantum/+spec/service-type-framework-cleanup
https://blueprints.launchpad.net/quantum/+spec/lbaas-integration-with-service-types
计划交付:Havana-2。

交付成果

  • 用于获取服务提供商的新 API(服务类型框架)
  • 客户端在创建池时指定服务提供商的新工作流。
  • quantumclient 和 Horizon 中的相应更改



2. LBaaS 插件的驱动框架。

蓝图:https://blueprints.launchpad.net/quantum/+spec/multi-vendor-support-for-lbaas
计划交付:Havana-1。
交付成果

  • 插件端驱动程序的接口
  • 加载插件端驱动程序并将其调用分派到适当驱动程序的 инфраструктура


理由:基本的 LBaaS 插件提供了合理的功能。但是,与后端服务器的交互对于不同的供应商可能不同。这不仅仅是关于设备访问,而是主要关于请求如何到达设备驱动程序。这里有几种可能的选项

1) 当前实现。插件向代理发送通知,代理从插件拉取配置。

2) “高级参考实现”。我们可能希望改进参考实现以采用代理-调度器方法。

3) 请求代理。在请求通过持久层(db 插件)后,它被传递到外部组件,该组件负责选择设备、应用配置等。

4) 被动代理。插件执行设备选择,然后将包含设备信息的 CRUD 请求发送到代理,代理将其转换为驱动程序并传递设备信息。

因此,我们可以在插件端创建几个驱动程序,这些驱动程序将采用这些方法。例如,对于参考实现,这样的驱动程序将由发送通知或不发送通知的请求组成。驱动程序使用默认 service_type 或请求中提供的类型(参见 (1))进行选择

LBaaS architecture

有关更多详细信息,请参阅 LBaaS/PluginDrivers

3. 改进对象监控
通过添加 PENDING_DELETE 并确保任何对象在其生命周期内都通过所有必要的状态来改进 DB 插件和代理。

4. 设备清单组件。
蓝图:https://blueprints.launchpad.net/quantum/+spec/device-inventory-management
交付成果

  • 负责将设备添加到数据库的组件:API 扩展、对象模型、CLI 界面


计划交付:Havana-2。

理由:某些供应商的实现可能需要存储可用的设备及其参数,以选择逻辑配置将部署到哪个实例。这样的组件可以被设计为通用,以支持不同类型的服务设备:负载均衡器、VPN、防火墙等。

5. 路由插入实现
这是一个复杂的通用功能,可以被任何可以充当路由器的服务实例(设备)利用。

这些是使 LBaaS 准备就绪的核心功能。

其他附加功能(除了供应商驱动程序)可能包括


1. 参考实现的代理调度支持。
改进参考实现以允许类似于 DHCP 的调度

蓝图:https://blueprints.launchpad.net/quantum/+spec/lbaas-agent-scheduler

2. VM 上的 HAProxy
这可能需要在 nova 客户端之上需要额外的通用库,该库允许管理虚拟设备生命周期。

3. 具备能力的客户端或 UI
为客户端和 UI 提供 API 以列出给定驱动程序或服务类型支持的选项。