为实际用例添加 VNF 包示例¶
https://blueprints.launchpad.net/tacker/+spec/add-vnf-package-sample-for-practical-use-cases
本规范描述了我们旨在添加的 VNF 包的功能。在此包中,将支持以下用例。
使用多种部署风味
部署连接到外部网络的 VNF
将 VNF 作为 HA 集群部署
部署可扩展的 VNF
使用 ansible mgmt 驱动程序配置 VNF
问题描述¶
当前 tacker 仓库中存在一些示例,但这些示例结构简单,不适用于想要部署在实际环境中使用的复杂 VNF 的用户。因此,添加一个 VNF 包示例以帮助他们了解如何部署实际用例所需的 VNF 非常重要。
提议的变更¶
我们旨在添加一个 VNF 包作为示例,并在文档中解释如何使用它。下图显示了此示例包中使用的 VNFD 的结构。
+-------------------------------------------------------------------------------------------------------------------------------------------------+
| VNFD |
| |
| +----------------------------+ +----------------------------------------------------------------------------------------------------+ |
| | Deployment flavour: ha | | Deployment flavour: scalable | |
| | +---------+ +---------+ | | |------------------------------+ +------------------------------+ +------------------------------+ | |
| | | VDU0 | | VDU1 | | | | VDU0 | | VDU1 | | VDU2 | | |
| | | | | | | | | properties: | | properties: | | properties: | | |
| | | | | | | | | vdu_profile: | | vdu_profile: | | vdu_profile: | | |
| | | | | | | | | min_num_of_instance:1 | | min_num_of_instance:0 | | min_num_of_instance:0 | | |
| | +------+--+ +--+------+ | | | max_num_of_instance:1 | | max_num_of_instance:1 | | max_num_of_instance:1 | | |
| | |\ /| | | +------+--------------+--------+ +------+--------------+--------+ +------+--------------+--------+ | |
| | | \ / | | | | | | | | | | |
| | | \ / | | | | | | | | | | |
| | | +vip| | | | | | | | | | |
| | | | | | | | | | | | | | |
| | | | | int net | | | | | | | | int net | |
| | ------+---+---+------- | | ----+--------------|-----------------+--------------|-----------------+--------------|------- | |
| | | | | | | | | | | |
| +---------|---|---|----------+ +-----------------------|--------------------------------|--------------------------------|----------+ |
| | | | | | | |
| | | | | | | |
+--------------|---|---|---------------------------------------|--------------------------------|--------------------------------|----------------+
| | | | | |
| | | ext net | | | ext net
----+---+---+--------- ---------+--------------------------------+--------------------------------+-------
该包和文档支持以下用例。
1) 使用多种部署风味:¶
该示例具有多种部署风味,每种风味定义了不同的 VNF 拓扑。如上图所示,定义了 ha 和可扩展的部署风味。用户可以使用此示例轻松尝试部署不同类型的 VNF,并可以了解以下内容:
支持多种部署风味的 VNF 包的结构。
如何在每个部署风味中编写 VNF 描述符和 Heat 模板。
如何在请求中指定部署风味。
2) 部署连接到外部网络的 VNF:¶
该示例具有连接到外部网络的 VNF,并且其 CP 分配了固定的 IP 地址。如上图所示,可扩展部署风味中的 VDU0 的 CP 连接到 ext net 的外部网络。用户可以使用此示例轻松尝试部署连接到外部网络的 VNF,并可以了解以下内容:
如何在 VNF 描述符和 Heat 模板中编写同时具有内部和外部网络连接的内容。
如何在 VNF 描述符和 Heat 模板中编写为其 CP 分配固定 IP 地址的内容。
如何在请求中传递有关外部网络的信息。
3) 将 VNF 作为 HA 集群部署:¶
该示例具有共享 VIP 的 VNF。如上图所示,ha 部署风味定义了 VDU0 和 VDU1 共享的 VIP。用户可以使用此示例轻松尝试将 VNF 作为 HA 集群部署,并可以了解以下内容:
如何在 VNF 描述符和 Heat 模板中编写多个 VDU 共享 VIP 的内容。
如何在请求中传递有关 VIP 的参数。
4) 部署可扩展的 VNF:¶
该示例具有可扩展的 VDU,并且每个 VDU 都有固定的 IP 地址。如上图所示,可扩展部署风味定义了实例数量可以是 0 或 1 的 VDU。用户可以使用此示例轻松尝试部署可扩展的 VNF,并可以了解以下内容:
如何在 VNF 描述符和 Heat 模板中编写具有可扩展 VDU 并且为其分配固定 IP 地址的内容。
如何指定初始 VDU 数量。
如何在缩放请求中指定 VDU 的数量。
如何指定绑定到在执行缩放操作之前不会创建的 VDU 的 CP 信息。
5) 使用 ansible mgmt 驱动程序配置 VNF¶
该示例使用 ansible mgmt 驱动程序来配置 VNF。用户可以了解以下内容:
支持 ansible mgmt 驱动程序的 VNF 包的结构。
如何使用 ansible mgmt 驱动程序编写脚本。
备选方案¶
无
数据模型影响¶
无
REST API 影响¶
无
安全影响¶
无
通知影响¶
无
其他最终用户影响¶
无
性能影响¶
无
其他部署者影响¶
无
开发人员影响¶
无
升级影响¶
无
实现¶
负责人¶
- 主要负责人
Masaki Oyama <ma-ooyama@kddi.com>
工作项¶
创建 VNF 包
编写文档以解释如何使用该示例
依赖项¶
无
测试¶
无
文档影响¶
用户指南将被修改以解释如何使用该示例。
参考资料¶
无
历史¶
无