Neutron/LBaaS/RadwareAlteon
范围
本文档描述了 Radware/Alteon 驱动程序用于 LBaaS。特性范围适用于 Open Stack Havana 版本。
实施细节
该驱动程序根据 Quantum/LBaaS/DriverAPI 实现。该驱动程序通过 REST API 与名为 Radware vDirect 的管理解决方案进行通信。Radware vDirect 是作为 OpenStack 中管理员项目和租户的一部分运行的虚拟设备。vDirect 虚拟设备必须能够与 OpenStack REST API 通信,并且还需要对云操作员可访问。
Radware vDirect 支持 LBaaS 驱动程序实现中的两个元素
- 通过称为 ADC 服务的机制管理负载均衡器实例的生命周期(配置、重用和退役)。
- 通过称为 ADC 工作流的机制管理配置生命周期。
Radware LBaaS 驱动程序按需将 ADC 工作流上传到 vDirect。ADC 工作流由位于 workflows 目录下的文件组成。workflows 目录是包含在 OpenStack 中的 Radware LBaaS 驱动程序代码的一部分。
ADC 工作流由以下内容组成
- 一个强制文件,名为 workflow.xml,它定义了不同的状态以及状态之间的转换流程,以及“链接”到每个状态上可以执行的实际代码。
- ADC 配置模板文件,文件扩展名为 .vm
- ADC 配置 Groovy 脚本文件扩展名为 .groovy
特性
- 协议:HTTPS、HTTP、TCP
- LB 算法:ROUND_ROBIN、LEAST_CONNECTIONS、SOURCE_IP
- 会话持久性:SOURCE_IP、HTTP_COOKIE、APP_COOKIE
- 健康监控:TCP、HTTP、HTTPS
- 统计信息检索
网络拓扑
- 单臂 - VIP 和成员位于同一网络上。
负载均衡器
- 配置 - SNAT。
- 形态 - 虚拟设备 (Alteon VA)。
配置生命周期
创建操作
- 在创建 Vip 之前,将忽略创建操作(池、成员、健康监控)。
- 在创建 Vip 时,会选择一个 ADC 服务(基于池和 Vip 所需的网络)。如果 ADC 服务不存在,则创建一个新的 ADC 服务。
- 创建一个由池 ID 标识的 ADC 工作流,并在所选 ADC 服务上创建 Vip,包括所有配置(池、成员、健康监控)。
- 其他创建操作,例如创建成员、定位现有的工作流(基于池 ID)以及调用 ADC 工作流的适当操作。
更新操作
- 任何更新操作都会定位现有的工作流(基于池 ID)并调用 ADC 工作流的适当操作。
- 更新池和 Vip(子网和顺序网络)- 超出 Havana 范围
- 重新父级化 - 如果重新父级化需要将在实例之间传输配置,则会引发错误。
- 成员移动到在不同的 ADC 服务上配置的另一个池
- 池移动到在不同的 ADC 服务上配置的另一个 Vip。Vip 更新为指向在不同的 ADC 服务上配置的另一个池。
删除操作
- 成员删除操作定位现有的工作流(基于池 ID)并调用 ADC 工作流的适当操作。
- 池删除操作定位现有的工作流(基于池 ID)并调用 ADC 工作流的适当操作。
- Vip 删除操作定位现有的工作流(基于池 ID)并调用 ADC 工作流的适当操作。