网络功能虚拟化在云数据中心的应用
2020-04-17吴志森
吴志森
(泉州经贸职业技术学院,福建 泉州 362000)
0 引言
目前,云提供商利用数据中心来提供云服务,其中所有计算性能都被安装并分发给各个客户或服务。从功能和安全角度来看,为云环境中的协调者提供安全可靠的虚拟网络服务设置的问题是其实施过程中具有高度风险的一部分。这种风险很大程度上受到实施者的影响,他们可能有意或无意地犯下一些带来安全和经济影响的错误[1]。NFV(网络功能虚拟化)是一种计算机网络体系结构概念,其中传统的物理网络设备被虚拟设备替代,虚拟设备的形式是在执行相同功能标准和性能良好的服务器上运行虚拟机,它统一了云网络基础设施的各个部分,并允许其创建、管理和监督软硬件资源。采用虚拟化解决方案时,可以避免来自不同制造商的设备的兼容性问题。虚拟化不像物理设备那样依赖于制造商,软件可以采用开源开发的软件作为解决方案[2,3]。NFV由欧洲电信标准协会(ETSI)于2013年推出,其框架由三个主要组件构成:虚拟化的网络功能模块管理器(VNFM)——用于进行虚拟化的网络功能模块生命周期管理的功能模块;虚拟化基础设施管理器(VIM)——负责对网络功能虚拟化基础架构的计算资源、存储资源以及网络资源进行控制与管理的功能[4];网络功能虚拟化编排器(NFVO)——可用以管理网络业务生命周期,并协调网络业务生命周期的管理、协调VNF生命周期的管理、协调NFVI各类资源的管理,以此确保所需各类资源与连接的优化配置,提供整个NFV基础架构的编排和自动化。
1 架构和利用技术
图1描述了NFV框架的各个部分以及软件组件的特定实现,它们被选择用于实现各个架构层。具有OpenContrail SDN扩展的OpenStack平台被选为网络功能虚拟化基础架构(NFVI)和虚拟化基础设施管理器(VIM)。SaltStack工具已经被选择来提供网络功能虚拟化编排器(NFVO)和虚拟化网络功能管理器(VNFM)功能[5]。
图1 NFV框架结构
OpenStack之所以被选中,是因其具有较强的稳定性、可变性,并可以在生产环境中大量实现。它是一个非常稳定和调优的NFV云实施平台。OpenContrail可直接与NFV一起使用,因为它从一开始就是针对这种可用性而被开发的。与Open-Stack的标准网络解决方案(Neutron)相比,Open-Contrail具有更高的可扩展性和稳定性,尤其适用于大量虚拟机。OpenContrail相对于Neutron的主要优势是分布式vRouter(虚拟路由器),这意味着在实践中,托管虚拟机的计算机服务器之间可以直接进行通信。这种通信通过Neutron提供的网络节点(即服务器),实现虚拟网络间的所有通信。这意味着,所有网络流量都流向同一个地方,从而导致虚拟机流量过大而最终崩溃。这个问题可以通过使用分布式访问来消除,因为负载均匀分布在所有计算机节点上,以实现更好的可伸缩性、稳定性,当然还可以实现更大的网络吞吐量[6,7]。此外,OpenContrail还提供了一些基于Neutron的功能,包括服务链、负载均衡、分析或更高级的防火墙。图2描绘了使用Neuron和OpenContrail的数据包流。
图2 Neutron和OpenContrail之间数据包流的差异
选择SaltStack是因为它提供了最广泛的编排选项。除了管理NFV外,还可以轻松控制整个云环境。此外,它还为OpenStack功能提供了非常好的原生支持。
2 VNF部署技术
VNF部署技术的前提条件是OpenStack和OpenContrail已经安装并且功能齐全。AviNetworks的Avi-Vantage软件负载均衡器被选为VNF。但是,AviVantage的部署及其功能、安全性主要是依赖于实施者。本文提出的解决方案的核心是使用Salt orchestrator实现此过程自动化。负载均衡器通常负责为服务用户提供它的所有服务器之间的平均分配负载。只有当两个或更多个服务器在网络上提供相同的服务时才有意义。
解决方案选择了AvimanagedLBaaS模式,在该模式中创建了具有管理权限用户的Avi控制器的特殊租户。管理员可以在云用户中创建Avi服务引擎(Avi SE)。然后,用户可以在其租户中管理Avi SE。在安装时,管理员必须首先为控制器创建租户,并为控制器实例创建至少一个规则;然后将控制器磁盘映像上传到Glance,为控制器创建网络管理,使用指定的防火墙规则创建SE和安全组;最后创建一个控制器实例。
Formula是为控制器创建网络管理要求而创建的,并对程序进行了修改。Salt State Formulas以.sls结尾,因此名为avinetworks.sls的文件是在存储Salt公式的目录中创建的,第一级包含Salt的各个角色,第二级列出了它们的子角色。这里介绍的解决方案是avinetworks的作用,其中包括一个子角色控制器和一个子角色包含变量列表。
在下一个步骤中,需要确定基础条件以及是否启用角色。
下面是公式的一部分,其中包含使用Neutron应用程序接口创建网络资源所需要的步骤。这是提供与外部网络通信的网络、子网和路由。
因此,可以执行一个命令来同步Salt中master上的所有模块和角色、Pillar Sync命令以及针对特定minion文件配置的AviNetworks应用程序。
现在,可以执行其中一个控制器的Web界面以确保其正确运行。图3提供了一个Web界面访问设置表单。可以添加和建立服务之间的服务,并在这些服务之间进行负载均衡。
图3 Avi vantage负载均衡设置界面
3 结语
文中提出的解决方案描述了Salt Orchestrator的功能和支柱的部署,通过调用单个命令,包括OpenStack环境中所有必要的依赖项,可以自动安装Avivantage软件负载均衡器的三个实例。介绍了为Orchestrators创建VNF规则的一般过程。无论所选的平台、VNF或如何编排,无论是Tacker模板、Cloudify 蓝图、Salt Formulas或者 Orchestrators的任何其他方案,都需要用户手动安装所选VNF,然后尝试将这些手动操作转换为所选规则。引入和测试的解决方案完全可用于自动化控制器安装。由于能够针对有意或无意的错误独立测试自动安装,从而降低安全风险和经济影响,因此,引入VNF编排规则可显著降低在OpenStack中部署所需工具的风险。