一、Neutron服务运维
1.什么Neutron?
Neutron 是 Openstack 的虚拟网络服务。
Neutron 的设计目标是实现“网络即服务(Networking as a Service)”。为了达到这一目标,在设计上遵循了基于 SDN 实现网络虚拟化的原则,在实现上充分利用了 Linux 系统上的各种网络相关的技术。
2.Neutron功能
Neutron 为整个 OpenStack 环境提供网络支持,包括二层交换,三层路由,负载均衡,防火墙等。Neutron 提供了一个灵活的框架,通过配置,无论是开源还是商业软件都可以被用来实现这些功能。
3.Neutron基本架构
与openstack其他服务和组件的设计思路一样,Neutron也采用分布式架构,由多个组件(服务)共同对外提供网络服务,Neutron架构非常灵活,层次多,一方面是为了支持各种现有或者将来会出现的先进网络技术,另一方面支持分布式部署,获得足够的拓展性。示意图如下:
neutron server:对外提供 OpenStack 网络API,接收请求,并调用Plugin处理请求。
queue:Neutron Server,Plugin 和 Agent 之间通过 Messaging Queue 通信和调用。
neutron plugin:处理 Neutron Server 发来的请求,维护 OpenStack 逻辑网络的状态, 并调用 Agent 处理请求。
neutron agent:处理 Plugin请求,负责在 network provider 上真正实现各种网络功能。
neutron provider:提供网络服务的虚拟或物理网络设备,例如 Linux Bridge,Open vSwitch或者其他支持 Neutron 的物理交换机。
neutron database:存放 OpenStack 的网络状态信息,包括 Network, Subnet, Port, Router等。