美文网首页OpenStackLinux我用 Linux
Neutron组件基础知识介绍(二)

Neutron组件基础知识介绍(二)

作者: 慕慕她爸 | 来源:发表于2017-11-28 22:23 被阅读17次
    • Neutron架构


      Neutron架构
    1. neutron Server
      报刊守护进程neutron-server和各种插件(plugin),他们即可以安装在控制节点也可以安装在网络节点,neutron-server提供API接口,并且把API的调用请求传给已经配置好的插件进行后续的处理
    2. neutron L2 agent
      为虚拟网络提供2层交换服务,通过一个特定的插件来实现
    3. neutron-dhcp-agent
      为虚拟机提供DHCP服务
    4. neutron-l3-agent
      为虚拟机访问外部网络提供3层转发服务
    • Plugin/Agent架构


      Plugin/Agent架构

      典型Plugin/Agent架构如上图所示
      4.1. 控制节点上面api获取到其他组件请求,Core Plugins主要负责二层交换,
      Service Plugins主要负责三层路由,二者大部分都是和数据库通讯
      4.2. Plugins将和数据库通讯以后的数据做一层封装写入到缓存MQ队列
      4.3. L2 agent负责二层交换的服务
      4.4. L3 agent负责三层路由的服务
      4.5. DHCP agent负责自动获取网络地址的服务
      4.6. ML2 Plugin介绍
      一般情况下,Plugin和Agent是成对出现的,但是由于Plugin主要负责数据库的增产改查,如果有多个Plugin必然在代码层面要重写,不便于扩展,这个时候就出现了ML2 Plugin,它本质上是将对数据库的操作做了一层封装,实现的架构如下所示


      ML2 Plugin
    • DHCP agent

    1. 为虚拟机提供DHCP服务
    2. 每个网络的DHCP运行在一个network namespace中,namespace由qdhcp-<DHCP-UUID>命名
    3. dnsmasq是被Neutron用来提供DHCP和DNS服务的一个开源软件
    4. 创建虚拟机的网络过程


      vm获取ip地址过程

    4.1. nova-compute向Neutron Server 发送一个请求虚拟机IP地址的请求
    4.2. Neutron Server为虚拟机创建MAC地址和IP地址,将此信息存储到数据库当中4.3. Neutron Server同时将这个信息异步发送给DHCP agent
    4.4. DHCP agent收到对应信息以后再发送给dnsmasq,后者将它保存起来
    4.5. nova创建虚拟机以后会初始化MAC地址
    4.6. 当虚拟机启动的时候,默认的ip地址是0.0.0.0,会发送一个广播,dnsmasq会监听到虚拟机发送的报文,对应的将对应MAC地址的IP地址返回给虚拟机,这样虚拟机启动完成以后就会有IP地址

    L3 agent

    1. L3 agent负责路由、浮动IP分配、地址转换和安全组管理
    2. 通过iptables实现安全组、路由以及地址转换
    3. 每个虚拟路由运行在一个network namespace中,每个namespace 由qroute-<router-UUID>命名

    相关文章

      网友评论

        本文标题:Neutron组件基础知识介绍(二)

        本文链接:https://www.haomeiwen.com/subject/tyzebxtx.html