VNFM与VNF对接的简单说明

简介: VNFD里的VDU里的一项表示一个虚机,cpu_cores、mem_size、disk分别表示此虚机的cpu/mem/disk大小,connection_point表示虚机的网络,一项表示一个网络,网络的具体的定义在VNFD文件后面。

虚资源创建过程


先定义VNFD,VNFD是用来描述VNF的,定义VNF需要哪些虚拟资源,比如定义多少个虚机,虚机的资源配置。


然后制作包。包里VNFD目录放VNFD文件。Software目录下放一些程序、配置,脚本等文件,可以由VNFM执行里面的脚本将里面的文件拷贝到VNF某虚机上,这个是根据业务自己的需要自己定义的。包里其它目录都是较固定的,可以不作为重点。


31efc90e96904c62a8deedc4386e65a0.png


VNFD里的VDU里的一项表示一个虚机,cpu_cores、mem_size、disk分别表示此虚机的cpu/mem/disk大小,connection_point表示虚机的网络,一项表示一个网络,网络的具体的定义在VNFD文件后面。


9cc0e480a92b4a51ae67aadbf352e935.png


VNFD里还可以写一些文件注入相关的东西,即虚拟机拉起后修改虚机里的某个文件,一般情况下只在里面写上虚机本身的一些配置,比如修改网络相关的配置文件,业务的配置文件一般不在VNFD里修改和生成。上面截图中"config_drive": true时就表示虚机启动后会执行user_data里的命令。


30d02b5ccc1f4efebaeff54b310effa7.png


网络和子网一般是由VIM和NFVO先创建好。VNFD里定义某个虚机引用某个网络和子网,并指定虚机的ip地址。虚机创建时就创建相应的网卡并绑定相应的网络、子网和ip地址。


例如在这个例子里VIM上已经创建好了demo-net/demo-subnet、demo2-net/demo2-net、demo5-net/demo5-subnet三个网络/子网,VNFD进行引用,SIPGW1这台虚机引用了port_ext_sipgw1、port_inner_sipgw1,此时SIPGW1就会有两块网卡和指定的IP。


VIM接口


各个厂家的VIM实现都不同,但是一般都是兼容openstack接口的。openstack接口一般是先鉴权然后发送POST /v2/servers等接口创建虚拟资源。具体需要查看openstack官方文档或者电信给出的接口文档。                                                  


一般开发时不需要自己构造http消息,例如java中只需要调用openstack4j这种实现好的


类库即可。


业务程序的部署


在完成了虚拟资源的创建后,即虚机拉起,网卡、磁盘等都已经分配好后,就需要将业务程序和配置部署在这些创建起来的虚机上。


VNFM在根据VNFD完成虚拟资源创建后,会将包里的Software目录整个拷贝到VNF的agent机器上(一般通过ssh),如下图所示


7bdc0c17a92e483a9574ebd61c257040.png


其中有个deploy.sh脚本,如下图所示


1b6d54c12fb44a32bc8129bd51b92193.png


然后,VNFM通过远程的方式在agent上执行deploy.sh脚本,所以你可以根据自己的需要在Software下放一些包含数据初始化的文件,在deploy.sh里添加一些命令,达到修改agent上的业务的配置的作用。然后agent上的程序下发这些修改后的配置到VNF上的各个虚机上面去。


最后VNFM发送http消息给VNF,VNF执行相应命令,可以完成对接。

相关文章
|
NoSQL Redis 数据安全/隐私保护
|
11月前
|
存储 供应链 监控
RFID汽车零部件仓库管理应用
RFID技术在汽车零部件仓库管理中应用广泛,可显著提升效率、准确性和智能化水平。通过RFID标签与阅读器,实现零部件从入库、存储、盘点到出库的全流程自动化管理。相比传统人工操作,RFID大幅缩短时间、降低错误率,并实时监控库存状态,优化供应链管理。此外,RFID支持保质期预警和质量问题追溯,保障生产顺利与客户满意度。这一技术为汽车行业带来更高效、智能的仓储解决方案。
浅析软件成本估算之NESMA方法的3种应用场景
NESMA为荷兰软件度量协会的简称(Netherland Software Measurement Association),NESMA功能点方法是五种ISO国际功能点标准之一,不但易学易用、快速、经济,而且容易开发和建立用户自己特有的估算模型。
4035 0
|
云安全 NoSQL 安全
【Azure Redis】关于Redis的两个安全漏洞在Azure Redis是否修复问题:CVE-2024-51741 和 CVE-2024-46981
本文探讨了两个 Redis 漏洞(CVE-2024-51741 和 CVE-2024-46981)在 Azure Redis 上是否存在安全风险。CVE-2024-51741 可能因格式错误的 ACL 触发拒绝服务,而 CVE-2024-46981 或因恶意 Lua 脚本导致远程代码执行。目前 Azure Redis 使用版本 6.0,不受上述漏洞影响,且 Azure 云服务会及时修复漏洞以确保安全。文章强调 Azure 遵循严格的安全标准,为用户提供可靠保障。
432 4
|
Java Maven 容器
java依赖冲突解决问题之ClassNotFoundException定位确认异常如何解决
java依赖冲突解决问题之ClassNotFoundException定位确认异常如何解决
|
机器学习/深度学习 自然语言处理 数据可视化
DeepSeek生成模型(Generative Models)基础与实践
生成模型(Generative Models)是能够生成新数据的机器学习模型,广泛应用于图像和文本生成、数据增强等场景。通过学习数据分布,生成模型可创建与训练数据相似的新样本。DeepSeek提供了强大的工具和API,帮助高效构建和训练生成模型。本文将详细介绍使用DeepSeek进行生成模型的基础与实践,涵盖变分自编码器(VAE)和生成对抗网络(GAN)的实现,并通过代码示例帮助掌握这些技巧。
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL的WAL预写日志文件
PostgreSQL数据库的物理存储结构包含多种文件,其中WAL(预写日志)用于确保数据完整性和高效恢复。WAL机制允许在不频繁刷新数据至磁盘的情况下,通过先写日志再改数据的方式,减少I/O操作,提高性能。每个WAL文件默认大小为16MB,位于pg_wal目录下,支持手动和自动切换。WAL不仅有助于数据恢复,还能显著降低I/O成本。
492 4
|
机器学习/深度学习 Serverless 定位技术
深入理解多重共线性:基本原理、影响、检验与修正策略
本文将深入探讨多重共线性的本质,阐述其重要性,并提供有效处理多重共线性的方法,同时避免数据科学家常犯的陷阱。
1410 3
|
测试技术 uml
#如何画好架构图:7种常用类型与示例
【10月更文挑战第12天】 架构图是展示系统结构和组件之间关系的图形表示,它对于理解系统的组织和设计至关重要。在不同的上下文中,架构图的类型和细节会有所不同。以下是7种常用的架构图类型及其示例:
1582 2