【OpenStack】学习 -- 控制节点的实现模型

135 阅读2分钟

image.png

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 3 天,点击查看活动详情

前言

今天新开一个主题,Opentack-Neutron则采用阅读《深入理解Openstack neutron》一书的方式实现,流程图使用processon进行绘制。

控制节点的实现模型

计算节点和网络节点承担着OpenStcak中的网络构建任务,实现网络功能的是两个节点中的各个Bridge,DHCP Service 、Router等虚拟网元,控制节点并没有实现相应的功能,只是对各种虚拟网元做管理和配合的工作,控制节点的Neutron通过RESTful或者CLI接受外部的请求,通过RPC和各个Agent进行交互,从而完成控制任务。

image.png

控制节点的Neutron进程与网络节点,计算节点的各个Agent进程互相配合,对内完成对网络节点、控制节点中虚拟网元的配置管理,对外提供RESTful等接口服务,Neutron与Agent之间的通信协议是RPC

计算节点中的各个Bridge构建了Neutron中的Local、Fla、VLAN、GRE、VXLAN、Geneve 6种二层网络。

br-ethx与br-tun对外构建用户网络,对内则为br-int屏蔽用户网络构建的差异,将不同类型的网络统统转化为Vlan,br-int在Host为各个VM构建了一个网络,qbr为br-int提供了安全服务。

网络节点为Neutron提供了其他网络服务,比如DHCP Service等,网络节点中的Router则提供了三层服务,除了提供普通的路由转发功能外,还提供了SNAT/DNAT等功能。

Neutron的三类节点相互配合,共同完成了Neutron网络服务。

备注: 位于同一个Host的本地网络中的不同VM之间的通信,他们经过本地网络Br-int即可完成,不需要往外走到用户网络层。