4 openstack -- neutron
openstack -- neutron
# 写在开头:每天5分钟玩转openstack
一、neutron summarize
1、neutron history:openstack 三代网络
# http://blog.csdn.net/yueyihua/article/details/51026597
--- 传统网络面临的问题
-- 传统桥接模式
-- 用户不能自定义网络
-- 网络隔离
-- 大规模部署
--- 云环境下网络的挑战
-- 高密度
-- 多租户
-- 大规模扩展
-- 虚拟机的可移动性
-- 资源的管理的自动化
-- 价格
--- neutron 趋势
-- “ 软件定义网络(software-defined networking, SDN)”所具有的灵活性和自动化优势使其成为云时代网络管理的主流
-- Neutron 的设计目标是实现“网络即服务(Networking as a Service)”,在设计上遵循了基于 SDN 实现网络虚拟化的原则
2、neutron function
3、neutron management resource:network && subnet && port
二、neutron framework
1、neutron分布式架构
分布式架构,多个组件共同对外提供网络服务
2、架构图
3、neutron module analysis
1)、neutron API
--- 对外提供 OpenStack 网络 API,接收请求,并调用 Plugin 处理请求
2)、neutron database
--- 存放 OpenStack 的网络状态信息,包括 Network, Subnet, Port, Router 等
3)、message queue
--- Neutron Server,Plugin 和 Agent 之间通过 Messaging Queue 通信和调用
4)、neutron plugin
--- 处理 Neutron Server 发来的请求,维护 OpenStack 逻辑网络的状态, 并调用 Agent 处理请求
5)、neutron agent
--- 处理 Plugin 的请求,负责在 network provider 上真正实现各种网络功能。
6)、network provider
--- 提供网络服务的虚拟或物理网络设备,例如 Linux Bridge,Open vSwitch 或者其他支持 Neutron 的物理交换机
# supplement
1、plugin 解决的是 What 的问题,即网络要配置成什么样子?而至于如何配置 How 的工作则交由 agent 完成。
2、plugin,agent 和 network provider 是配套使用的 network provider 是 linux bridge,那么就得使用 linux bridge 的 plungin 和 agent;
如果 network provider 换成了 OVS 或者物理交换机,plugin 和 agent 也得替换。
四、neutron deploy pattern
五、neutron work flow