本文共 1767 字,大约阅读时间需要 5 分钟。
OpenStack与OpenDaylight(ODL)的融合是一个备受关注的主题,尽管有大量文档可供参考,但大部分文章主要聚焦于使用方法,而缺乏对实现细节的阐述。本文将深入探讨如何实现OpenStack与ODL的融合。
ODL与OpenStack的完整安装步骤如下:
安装合适的ODL版本:在虚拟机或物理机上选择并安装适当的ODL版本。确保使用支持Neutron API的bundle(如OVSDB、VTN Manager、LISP等)。
配置并启动ODL:正确设置ODL环境,启动相关服务。
部署OpenStack:建议采用多节点部署模式,包括一个控制节点、一个网络节点和多个计算节点。
配置OpenStack与ODL融合:
创建虚拟机与虚拟网络:在OpenStack上构建虚拟机并创建虚拟网络。
验证网络拓扑:检查ODL界面生成的网络拓扑是否与预期一致。
OpenStack Neutron的模块化二层组件(ML2)提供了多样化的网络类型支持(如VLAN、GRE、VXLAN等)。ODL作为机制驱动,与ML2紧密集成,通过调用Neutron API实现网络资源的管理。
ODL的核心API和扩展API通过sendjson接口与OpenStack进行交互。ODL控制器接收并处理这些API调用,完成网络、子网和端口等核心资源的操作。
OpenDaylight的北向API处理来自OpenStack插件的REST请求,提供Neutron API服务接口。其实现架构主要包括以下组件:
Northbound API Bundle:处理来自OpenStack插件的REST请求,提供IneutronRequest父类和丰富的资源操作类(如网络、子网、端口等)。
SPI Bundle:连接北向API到具体实现方案,支持多种网络虚拟化方法(如OVSDB、VTN Manager、LISP等)。
Transcriber Bundle:通过INeutron*CRUD接口实现Neutron对象的缓存和操作,支持并发处理。
Implementation Bundle:提供多种网络虚拟化实现方案,包括:
在OpenDaylight上创建网络的过程涉及多个bundle协同工作。例如,VTN Manager的Neutron组件通过OpenFlow插件逐个配置OpenFlow交换机,完成网络创建和端口绑定。具体操作流程如下:
检查是否可以通过调用canCreateNetwork再次创建网络。
将Neutron网络的租户ID和网络ID转换为租户ID和网桥ID。
检查租户是否存在,创建租户ID对应的网桥。
执行VLAN映射并配置OpenFlow交换机。
OpenDaylight作为OpenStack的优质控制器之一,提供了灵活的网络虚拟化解决方案。尽管当前版本尚不支持防火墙和负载均衡服务,但其丰富的核心API和免费实现方案使其成为OpenStack网络虚拟化的理想选择。未来版本的OpenDaylight有望支持更多功能,实现OpenStack与ODL的完美融合。
转载地址:http://xwpfk.baihongyu.com/