Neutron/LBaaS/Provisioning/proposal
< Neutron | LBaaS(重定向自 Quantum/LBaaS/Provisioning/proposal)
目录
范围
本文档描述了特定的 VIP 如何被配置到负载均衡设备上。可以通过完全自动化和手动模式等多种方式实现。该方案依赖于 Tenant API 的轻微扩展。
用例
自动模式
此场景适用于只需要负载均衡,且对后台具体实现方式没有偏好的用户。
- `需求`: 有一些负载均衡设备注册在 LBaaS 中,它们可以是共享的或专用于特定的租户。
- 用户创建 VIP、池,并指定健康检查或会话持久性参数。
- LBaaS 根据设备的 capabilities 过滤设备,并将 VIP 部署到其中一个设备上。
- 任何参数的更改(例如,负载均衡算法)都可能导致 VIP 重新部署到另一个设备,但此过程对用户来说是透明的。
- 如果用户请求的参数组合不符合任何可用设备,则会返回错误。
半手动模式
此场景适用于拥有不同类型负载均衡器的用户,并且希望对部署进行更精确的控制。
- `需求`: 有一些负载均衡设备注册在 LBaaS 中,它们可以是共享的或专用于特定的租户。
- 用户创建 VIP 并指定其要求集合。这可能是特定的健康检查选项或性能指标(例如连接数)。
- LBaaS 将 VIP 部署到其中一个合适的设备上。如果未找到设备,则返回错误。
手动模式
此场景适用于拥有阶段(开发、QA、生产)的用户,并且希望控制哪个设备负责负载均衡。
- `需求`: 有一些负载均衡设备注册在 LBaaS 中,它们可以是共享的或专用于特定的租户。
- 用户列出可用的设备。
- 用户创建 VIP 并指定 device_id。
- LBaaS 将 VIP 部署到指定的设备上。
- 如果请求了任何不支持的选项,LBaaS 将返回错误。
(!) 需要使用命令“获取设备列表 (tenant_id)”扩展 REST API。
实现概述
该功能应作为调度器实现,算法可能如下
- 列出当前租户可用的设备
- 进行过滤
- 对于自动模式 - 透明过滤
- 对于半手动模式 - 过滤接受用户提供的 capabilities
- 对于手动模式 - 过滤接受 device_id
- 在设备列表上运行过滤器
- 从列表中选择一个设备并将 VIP 绑定到它
- 如果没有找到设备,则抛出异常
数据模型变更
无
配置变量
无
API
无,但需要对 LBaaS Tenant API 进行扩展。
插件接口
不适用
必需的插件支持
不适用
依赖项
LBaaS 核心,LBaaS Tenant API
CLI 要求
无
Horizon 要求
无
使用示例
不适用
测试用例
不适用