第 7 章 Neutron - 070 - Neutron 如何支持多种 network provider

支持多种 network provider

 

Neutron 的架构是非常开放的,可以支持多种 network provider,只要遵循一定的设计原则和规范。

 

简单场景:在 Neutorn 中使用 linux bridge 这一种 network provider。

根据 Neutron Server 的分层模型,需要实现两个东西:

  • linux bridge core plugin
  • linux bridge agent

 

linux bridge core plugin

1、与 neutron server 一起运行。

2、实现了 core plugin API。

3、负责维护数据库信息。

4、通知 linux bridge agent 实现具体的网络功能。

linux bridge agent

1、在计算节点和网络节点(或控制节点)上运行。

2、接收来自 plugin 的请求。

3、通过配置本节点上的 linux bridge 实现 neutron 网络功能。

 

 

同样的道理,如果要支持 open vswitch,只需要实现 :

  • open vswitch plugin
  • open vswitch agent

由此可见:Neutron 可以通过开发不同的 plugin 和 agent 支持不同的网络技术。这是一种相当开放的架构。

 

不过随着支持的 network provider 数量的增加,开发人员发现了两个突出的问题:

  • 只能在 OpenStack 中使用一种 core plugin,多种 network provider 无法共存。
  • 不同 plugin 之间存在大量重复代码,开发新的 plugin 工作量大。

 

------------------------------------------------------引用来自--------------------------------------------------------------

https://www.cnblogs.com/CloudMan6/p/5747909.html

https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587682&idx=1&sn=bd57acc0560ce9bcdcc7781ed24067df&chksm=8d3080fbba4709ed1dd5ba820daa2c845d1aff1d4cd5670b74337df386f3fbf2544ab5fb65c0&scene=21#wechat_redirect

posted @ 2019-07-02 09:33  gsophy  阅读(252)  评论(0编辑  收藏  举报