二、neutron 架构:
Nuetron 架构
与 OpenStack 的其他服务的设计思路一样,Neutron 也是采用分布式架构,由多个组件(子服务)共同对外提供网络服务。
Neutron Server
对外提供 OpenStack 网络 API,接收请求,并调用 Plugin 处理请求。
Plugin
处理 Neutron Server 发来的请求,维护 OpenStack 逻辑网络状态, 并调用 Agent 处理请求。
Agent
处理 Plugin 的请求,负责在 network provider 上真正实现各种网络功能。
network provider
提供网络服务的虚拟或物理网络设备,例如 Linux Bridge,Open vSwitch 或者其他支持 Neutron 的物理交换机。
Queue
Neutron Server,Plugin 和 Agent 之间通过 Messaging Queue 通信和调用。
Database
存放 OpenStack 的网络状态信息,包括 Network, Subnet, Port, Router 等。
与 OpenStack 其他服务一样,Neutron 采用的是分布式架构,包括 Neutorn Server、各种 plugin/agent、database 和 message queue。
1. Neutron server 接收 api 请求。
2. plugin/agent 实现请求。
3. database 保存 neutron 网络状态。
4. message queue 实现组件之间通信。
如果我们将 Neutron 架构展开,则会得到下面第二张图:
-
Neutron 通过 plugin 和 agent 提供的网络服务。
-
plugin 位于 Neutron server,包括 core plugin 和 service plugin。
-
agent 位于各个节点,负责实现网络服务。
-
core plugin 提供 L2 功能,ML2 是推荐的 plugin。
-
使用最广泛的 L2 agent 是 linux bridage 和 open vswitch。
-
service plugin 和 agent 提供扩展功能,包括 dhcp, routing, load balance, firewall, vpn 等。
阅读(1146) | 评论(0) | 转发(0) |