openstack中ml2插件

作为一个Core Plugin,ML2能够实现network/subnet/port三种核心资源,同时它也实现了包括Port Binding等在内的部分扩展资源。
ML2解耦了网络拓扑类型与底层的虚拟网络实现机制,并分别通过Driver的形式进行扩展,其中,不同的网络拓扑类型对应着Type Driver,由Type Manager管理,不同的网络实现机制对应着Mechanism Driver,由Mechanism Manager管理。
目前,Neutron中已经实现了Flat/GRE/VLAN/VxLAN等拓扑类型的Type Driver,也实现了Linux Birdge/Open vSwitch以及众多厂商的Mechanism Driver,通过这些众多的Driver,ML2 Plugin实现了其他Core Plugin的功能。
在这里插入图片描述
模块层2(ML2)中Neutron plug-in是一个框架,允许OpenStack网络同时使用在复杂的现实世界数据中心中发现的各种第2层网络技术。 ML2框架区分可以配置的两种驱动程序:
类型驱动程序
定义OpenStack网络如何在技术上实现。示例:VXLAN
每种可用的网络类型由ML2类型驱动程序管理。类型驱动程序维护任何所需的特定类型的网络状态。它们验证供应商网络的类型特定信息,并负责在项目网络中分配一个空闲段。
机制驱动程序
定义访问某种类型的OpenStack网络的机制。示例:打开vSwitch机制驱动程序。
机制驱动程序负责获取由类型驱动程序建立的信息,并确保在给定已启用的特定联网机制的情况下正确应用该信息。
机制驱动程序可以利用L2代理(通过RPC)和/或直接与外部设备或控制器交互。
可以同时使用多个机制和类型驱动程序来访问同一虚拟网络的不同端口。

ml2 plugin是重新定义了一套框架,来支持不同的虚拟网络实现技术。ml2 plug和原来的plugin不兼容,原来的plugin需要改写成ml2 mechanism driver。和meta比,ml2的结构更清晰,扩展性更强,ml2应该是未来neutron plugin的方向。

参考文章 :
https://blog.csdn.net/zhengleiguo/article/details/28408899
https://blog.csdn.net/fyggzb/article/details/53893304
https://blog.csdn.net/chengqiuming/article/details/79873267

猜你喜欢

转载自blog.csdn.net/weixin_43466473/article/details/87966611