2021SC@SDUSC
网络(Neutron)服务再探
OpenStack项目中的Neutron网络服务组件提供虚拟机实例对网络的连接,其中plug-ins能够提供对多种网络设备和软件的支持,使OpenStack环境的构建和部署具备更多的灵活性,其最主要的功能是虚拟机为虚拟实例提供网络连接。
网络组件
- neutron-server:接收和路由API请求到OpenStack网络
- OpenStack Network plugs-ins and agents :创建端口(ports),网络和子网,提供IP地址。plugs-ins和agents根据不同的厂商和技术而应用于不同的云环境下,OpenStack中的plug-ins一般支持Cisco Virtual Linux Bridge和DHCP
- Messaging queue :在neutron-server和agents之间路由信息,同时也会作为一个数据库来存储plug-ins的网络连接状态。
网络服务组件
agent | 描述 |
---|---|
plug-in-agent | 运行在每个计算节点上,按照本地虚拟机的配置执行操作。插件不同,agent也可能不同,一些插件不需要agent |
dhcp agent | 为组户网络提供DHCP服务 |
L3 agent | 提供L3/NAT转发,为租户内的虚拟机实例被外部网络访问 |
metering agent | 提供L3数据流量的监控,计量 |
agents通过RPC(RabbitMQ或者Qpid)或标准API与Neutron网络进程进行通信,在运行过程中需要与其他服务组件交互
LBaas和FWaas
Load Balance as a Server(LBaas)功能使Neutron网络服务组件在多个网络主机节点之间可以均衡分配,处理请求,这个机制可以分散负载压力,使请求造成的工作负载被均衡分配,以提高系统资源的利用率。负载均衡包含以下三种策略。
Round Robin:在多个网络主机节点间轮询处理各种请求。
Source IP:来自同一源IP的请求被持续指向同一网络主机节点
LBaas特性:
特性 | 描述 |
---|---|
监控 | LBaas通过ping,TCP,HTTP和HTTPS等方法提供有效的监控,以确保各成员是否可以有效地处理请求 |
管理 | LBaas使用各种工具进行管理。用户可以通过CLI(Neutron)和仪表盘(Horizon)进行负载均衡的管理操作 |
连接限制 | 请求入口信息流可以使用连接限制进行控制,该功能可以控制工作负载压力,同时也可以减轻DoS攻击 |
Session持久化 | LBaas通过路由请求到相同网络主机节点,从而保证Session具有持久性和有效性,其支持基于Cookie和源IP地址的路由方法 |
Firewall as a Service(FWaas)添加防火墙管理到Neutron网络服务组件中,使用Iptables作为防火墙策略应用到L3虚拟路由中。
安全组应用于虚拟机实例级别,FWaas在虚拟路由外围过滤各种流量。