读过之前OpenStack基金会的NFV白皮书的粉丝,想必对OPNFV也不会陌生,本篇文章为大家介绍OPNFV的最新版本-Brahmaptura,帮您快速了解这个新版本的新功能及其他重要信息。
Open Platform for Network Function Virtualiziation(OPNFV)是一个历时2年的Linux基金会项目,提供了一个集成、可安装的开源NFV方案。OPNFV包含了OpenStack和超过30个其他可选组件, 并为它们增加了电信级功能。终端用户可以下载自己需要的安装包、操作系统和SDN控制器,以快速地部署一个测试平台,这些都由活跃的开源社区支持。项目团队已经在关键的部署场景上付出了诸多的努力, 使其自动地安装,配置,测试。OPNFV社区的一个核心前提是“上游优先”,意味着OPNFV社区成员已积极地为众多OpenStack项目,KVM,OpenvSwitch,OpenDaylight和Linux内核贡献了blueprints和代码。 OPNFV扩大了OpenStack社区并且“电信级”思想体系确实地为所有的用户提升了OpenStack,尤其是在性能,弹性和地域性扩展上。这2个项目在所有层面都紧密关联。
下方图表展示了OPNFV项目与它关联的众多上游项目的关系:
新功能
OPNFV的Arno版本在2015年6月发布,基于OpenStack Juno版本。而在2016年3月,OPNFV的Brahmaputra版本跳过了Kilo,直奔当前的OpenStack Liberty版本,Liberty加强了平台所需要的电信级功能,比如:
✔ 可选择安装包和操作系统
✔ IPv6路径部署和Linux内核的提升
✔ 通过OpenStack Neutron,Ceilometer和Monasca显著提升了错误检测和恢复功能
✔ 虚拟网络功能的Service Function Chaining(SFC)功能
✔ Layer 3 V**的实例化和配置
✔ 通过OpenStack顶端的中介层的基础资源预定
✔ 为Open vSwitch和KVM虚拟管理加强了DPDK性能
✔ 在默认的OpenStack网络选项之外,OPNFV支持通过使用各种SDN控制器,如OpenDaylight,ON.Labs的ONOS和OpenContrail,安装和进行功能性的Tempest
OPNFV的Brahmaputra版本包含了对4种不同OpenStack裸机安装的支持:
✔ APEX,APEX是带有Triple O和Puppet的RDO,支持CentOS
✔ Compass,Compass依赖于Ansible,以安装OpenStack和其他组件。支持Ubuntu(对CentOS的支持即将上线)。
✔ FUEL,FUEL集成了OPNFV功能在FUEL Stack安装包/部署工具中,支持Ubuntu
✔ JOID,JOID使用了Canonical的MaaS和JuJU,支持Ubuntu。
把这些放在一起,你会获得16种不同的平台组合供选择!OPNFV项目Genesis(GENEral System Install Services)旨在实现一个统一的用户体验。Genesis指定了组件包含的内容,如OpenStack,OVS的哪个版本等,以组成一个OPNFV环境。
Pharos项目指定了一个实验室,建立一个典型的部署配置时,所需要的网络和服务器硬件。有一个”pod"概念,6个物理服务器,第1个节点作为跳转盒,以启动另外5个。有3个控制节点和2个HA配置的计算节点。有12个不同的Pharos实验室,每一个有多个pods,每个pod来自于不同公司所贡献的资源,用以集成和测试各种组件的组合。 Pods目前已通过一个固定的jump host(用于指定的安装包和使用特定布局的VLAN主干和接入端口的网络设计),被合理地统计。在未来的OPNFV版本中,网络将会在每一次创建中,动态地进行配置。
组成一个pod的6个服务器由JenkinsJob Bulider脚本控制,被储存在OPNFV Gerrit库中。OPNFV核心版本团队从各种安装包和特性项目中提取代码以确保在各个实验室中的pod的所有工作能够自动化进行。 然后,在基础平台被验证后,来自于测试项目的代码会被添加到Jenkins jobs运行。至少4个成功的创建,才能让安装包的新功能从Master进入到Stable中。
如果你没有用于运行充分扩展的Pharos OPNFV实验室的全部必要硬件,不必着急。 这里有使其在虚拟环境中生效的介绍,并且我们也有一个简化的OPNFV Copper Academy部署,它提供了轻量的4节点设计,可以在本地或在云中虚拟化运行。 了解更多信息,请查看Netx Steps中的OPNFV Demo Github链接。
在OPNFV创建后,会有众多的功能和测试项目使用到OPNFV:
测试:
我们已经展示了如何使用4个安装包创建OPNFV和选择你的SDN控制器。然而我们如何知道它是否有效呢?或者说,我们的应用能在这个硬件平台上运行得多快呢?
OPNFV提供了一些主要的测试项目,特性项目必须使用它们以确保它们的用户案例将可以运行。
Functest:
Functest提供了全部的基础系统功能性测试方法,测试套件和测试案例,以验证OPNFV功能性。这确保了平台已被正确地安装,并且各个组件正在正确地工作。 比如:创建一个网络,部署一组虚机,再确认他们可以通过ping连通。
Functest只运行功能性测试,以确保系统正确地运行,并不花时间运行性能测试。一些上游套件:Rally,Tempest,Robot。
YardStick
YardStick是OPNFV基础设施性能验证项目。在ETSI GS NFV 001中提到的用户案例展示了大量不同种类的应用,每个界定了特殊的需求和其对应的基础设施和测试工具的复杂配置。 YardStick将典型的VNF工作负载性能数据分解成大量的参数/性能矢量,它们中的每一个都可以代表完全不同的测试案例。
该项目适用于开发一个测试框架,测试案例和测试刺激。Yardstick使用到的方法论与ETSI TST 001保持一致。
--------------------------------------------------------------------------------
Next Step
最近,OPNFV项目扩展了其范围,添加了管理和编排(MANO)功能,如VNF管理器和NFV编排器。下一个OPNFV前线是开始测试各种MANO方案。 虽然OpenStack提供了一个标准的API用于基础的虚拟机自动化,但这并没有被扩展到服务供应商和运营商使用的操作支撑系统(OSS)和业务支撑系统(BSS)。 我们需要一个方法,不仅部署虚拟机和发挥典型OpenStack功能,还能管理被部署在这些OpenStack平台上的虚拟化网络功能(VNFs)。
比如:新的OpenStack big tent项目Tacker提供了一个定位于NFV编排(NFVO)和VNF管理(VNFM)用户案例的服务,使ETSI MANO架构生效。
一些Tacker提供的新功能:
✔ VNF catalog
✔ VNF生命周期管理
✔ 精炼的管理和编排(MANO)API
✔ 针对云应用的参数化拓扑结构和编排规格(TOSCA)VNF定义样本
✔ VNF用户数据注入
✔ 在实例化和升级时-VNF配置注入
✔ 可加载的健康监控框架
如何使用OPNFV Brahmaputra:
✔ 下载和安装在你的硬件上:https://www.opnfv.org/software
✔ 尝试Cloudbase的快速上手OPNFV Demo按需环境:https://github.com/opnfv/opnfv-ravello-demo
✔ 阅读OpenStack Foundation Report: Accelerating NFV with OpenStack,其中包含了OpenStack中NFV所必要的项目,并了解如何加入。