为实际用例添加 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 包

  • 编写文档以解释如何使用该示例

依赖项

测试

文档影响

用户指南将被修改以解释如何使用该示例。

参考资料

历史