博客
关于我
OpenDaylight融合OpenStack架构分析
阅读量:791 次
发布时间:2023-02-23

本文共 1767 字,大约阅读时间需要 5 分钟。

OpenStack与OpenDaylight(ODL)融合实践指南

OpenStack与OpenDaylight(ODL)的融合是一个备受关注的主题,尽管有大量文档可供参考,但大部分文章主要聚焦于使用方法,而缺乏对实现细节的阐述。本文将深入探讨如何实现OpenStack与ODL的融合。


ODL与OpenStack的安装步骤

ODL与OpenStack的完整安装步骤如下:

  • 安装合适的ODL版本:在虚拟机或物理机上选择并安装适当的ODL版本。确保使用支持Neutron API的bundle(如OVSDB、VTN Manager、LISP等)。

  • 配置并启动ODL:正确设置ODL环境,启动相关服务。

  • 部署OpenStack:建议采用多节点部署模式,包括一个控制节点、一个网络节点和多个计算节点。

  • 配置OpenStack与ODL融合

    • 核心插件部署:确保核心插件部署在模块化的二层组件(ML2)上。
    • 机制驱动配置:将ODL作为“机制驱动”部署在ML2上。
    • ml2_conf.ini文件配置:在[ml2_odl]区域设置:
      • username = admin
      • password = admin
      • url = http://IP-Address-Of-OpenDaylight:8080/controller/nb/v2/neutron
  • 创建虚拟机与虚拟网络:在OpenStack上构建虚拟机并创建虚拟网络。

  • 验证网络拓扑:检查ODL界面生成的网络拓扑是否与预期一致。


  • OpenStack与ODL融合的实现原理

    OpenStack Neutron的模块化二层组件(ML2)提供了多样化的网络类型支持(如VLAN、GRE、VXLAN等)。ODL作为机制驱动,与ML2紧密集成,通过调用Neutron API实现网络资源的管理。

    ODL的核心API和扩展API通过sendjson接口与OpenStack进行交互。ODL控制器接收并处理这些API调用,完成网络、子网和端口等核心资源的操作。


    OpenDaylight(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:提供多种网络虚拟化实现方案,包括:

    • OVSDB:基于Open vSwitch的数据库管理协议,支持VXLAN和GRE隧道。
    • VTN Manager:使用AD-SAL控制器管理OpenFlow交换机,支持OpenFlow数据平面。
    • Open DOVE:提供基于Open vSwitch的多租户网络解决方案。
    • LISP Flow Mapping:通过LISP协议实现网络控制与数据转发分离。

  • 使用所有实现方案创建网络

    在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/

    你可能感兴趣的文章
    OpenCV图像处理篇之阈值操作函数
    查看>>
    opencv图像特征融合-seamlessClone
    查看>>
    OpenCV图像的深浅拷贝
    查看>>
    OpenCV在Google Colboratory中不起作用
    查看>>
    OpenCV学习(13) 细化算法(1)(转)
    查看>>
    OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波
    查看>>
    OpenCV学堂 | CV开发者必须懂的9种距离度量方法,内含欧氏距离、切比雪夫距离等(建议收藏)
    查看>>
    OpenCV学堂 | OpenCV中支持的人脸检测方法整理与汇总
    查看>>
    OpenCV学堂 | OpenCV案例 | 基于轮廓分析对象提取
    查看>>
    OpenCV学堂 | YOLOv8与YOLO11自定义数据集迁移学习效果对比
    查看>>
    OpenCV学堂 | YOLOv8官方团队宣布YOLOv11 发布了
    查看>>
    OpenCV学堂 | YOLOv8实战 | 荧光显微镜细胞图像检测
    查看>>
    OpenCV学堂 | 汇总 | 深度学习图像去模糊技术与模型
    查看>>
    OpenCV安装
    查看>>
    OpenCV官方文档 理解k - means聚类
    查看>>
    opencv实现多路播放
    查看>>
    opencv常用函数
    查看>>
    OpenCV探索
    查看>>
    OpenCV添加中文(五)
    查看>>
    opencv源码查看
    查看>>