Lbaas,使用 Octavia 作为参考实现¶
https://blueprints.launchpad.net/neutron/+spec/lbaas-ref-octavia
lbaas 团队计划用 Octavia 项目[1]提供的类似 service-vm 的实现来替换参考实现,该实现使用 nova compute 提供可扩展性和 HA 功能。
问题描述¶
现有的参考实现扩展性差,无法处理 HA,并且在底层主机发生故障时容易出现问题。
提议的变更¶
将向 neutron-lbaas 添加一个 neutron-lbaas Octavia 驱动程序(或 shim),它将引用 Octavia 项目[1]实现的控制器/框架。
现有的参考实现,即 namespace haproxy 驱动程序,将保留在 neutron-lbaas 树中,用于 Liberty 版本,以便升级。
neutron-lbaas.conf 文件中启用的默认驱动程序将是 Octavia,项目需求文件中将添加对 Octavia 的依赖,并且打包人员必须将 Octavia 作为 lbaas 安装的一部分进行安装/部署。
neutron-lbaas devstack 插件将自动开始安装 Octavia。
数据模型影响¶
无。
REST API 影响¶
无。
安全影响¶
无。
通知影响¶
无。
其他最终用户影响¶
无。
性能影响¶
无。
IPv6 影响¶
无。
其他部署者影响¶
升级需要手动选择切换到 Octavia。旧驱动程序将继续运行。
新安装需要拉取并启动 Octavia。
开发人员影响¶
无。
社区影响¶
现有的参考实现不受欢迎。希望这能改变这种看法。
备选方案¶
另一种选择是继续维护现有的参考/代理驱动程序,并将 Octavia 作为一种选择。lbaas 团队认为同时维护这两个驱动程序的维护周期不太理想。
实现¶
负责人¶
- 主要负责人
Octavia 团队
工作项¶
Octavia neutron-lbaas 驱动程序。
调整需求。
将测试转换为与 Octavia 稳定运行。
修改 devstack 插件
依赖项¶
一个可用的 Octavia 实现。切换将在 L-3 中旬或更晚进行,并且仅当 Octavia 达到“足够完善”的生产使用水平时,由服务中尉和/或 PTL 确定。
测试¶
现有的测试将测试 Octavia 后端。将添加额外的作业以继续测试 namespace/haproxy 后端,直到将其删除(计划待定)。
Tempest 测试¶
与现有相同。
功能测试¶
与现有相同。
API 测试¶
与现有相同。
文档影响¶
用户文档¶
需要更新对驱动程序/配置设置的引用,以及有关如何检查正在运行的正确代理/故障排除的文档。
开发人员文档¶
无。