openstack neutron 一

openstack neutron

简介:

openstack 网络服务(networking)是一个独立服务,通常的实现是部署几个服务在几个节点上。这些服务除了相互之间交互外也会和OpenStack的其他服务进行交互。OpenStack网络服务的主进程是neutron-server,它会把OpenStack网络api和租户请求转发到做额外处理的插件(plug-ins)。

  1. neutron server(neutron-server and neutron-*-plugin)
    该服务通常跑在网络节点上,为网络api和它的扩展提供服务。同时它也执行网络模型和为每个port分配ip。neutron-server需要能够间接地访问到数据库。数据库的访问,通过插件来实现。插件通过amqp(Advanced Message Queuing Protocol)来实现。

  2. plugin agent (neutron-*-agent)
    这些服务跑在计算节点上来管理本地的虚拟机交换机(virtual switch (vswitch))的配置。你选择的插件(plug-in )不同会决定你使用的代理(agent)的不同。你是用的插件不同,会导致你是否需要使用消息队列。一些插件如OpenDaylight(ODL) and Open Virtual Network (OVN) 不需要任何python的代理跑在计算节点上。

  3. DHCP agent (neutron-dhcp-agent)
    为租户网络提供dhcp服务。这个代理和其他服务一样,它负责管理DHCP相关的配置。该服务需要消息队列的支持。Optional depending on plug-in.

  4. L3 agent (neutron-l3-agent)
    为租户网络中的虚拟机访问外部网络,提供三层或者NAT转发。该服务需要消息队列。Optional depending on plug-in.

  5. network provider services (SDN server/services)
    为租户网络提供额外网络服务。这些SDN(software define service)服务会通过通信信道(communication channels)如REST APIs,来和 neutron-server, neutron-plugin, and plugin-agents交互。

架构图

openstack neutron 一_第1张图片

OpenStack内部网络图

openstack neutron 一_第2张图片

一个标准的OpenStack网络有四种截然不同的物理网络。

  1. 管理网络(Management network)
    用于OpenStack组件之间的交互。该网络中的ip只能在数据中心中才能够访问到。and is considered the Management Security Domain.

  2. 访客网络(Guest network)
    用于云平台内虚拟机之间的数据的交互。这些ip的获取取决于OpenStack网络中使用的网络插件和租户的网络配置。This network is considered the Guest Security Domain.

  3. 外部网络(External network)
    用于一些部署情况中为虚拟机提供互联网访达。互联网中的任何一个都能够访问到这些ip地址。This network is considered to be in the Public Security Domain.

  4. API network
    暴露所有的OpenStackAPI给租户。这些ip地址需要能够被互联网中的任何人访问。这个也许和外部网络相同,因为可以使用该网络来创建子网给外部网络提供IP。

    Reference:

    OpenStack Docs: Networking architecture

你可能感兴趣的:(openstack neutron 一)