NVUE 对象模型

NVUE 对象模型定义使用 OpenAPI 规范 (OAS)。类似于 YANG (RFC 6020RFC 7950),OAS 是一种数据定义、操作和建模语言 (DML),可让您为人类和机器构建模型驱动的接口。尽管计算机网络和电信行业通常使用 YANG(由 IETF 标准化)作为 DML,但 OpenAPI 的应用范围更广,从云到计算、存储、物联网,甚至社交媒体。OpenAPI 倡议 (OAI) 联盟 领导 OpenAPI 标准化,这是一个 Linux 基金会下的特许项目。

OAS 模式构成了管理平面模型,您可以使用该模型配置、监控和管理 Cumulus Linux 交换机。OAS 的 v3.0.2 版本定义了 NVUE 数据模型。

与使用 OpenAPI 的其他系统一样,NVUE OAS 模式定义了作为 RESTful API 公开的端点(路径)。使用这些 REST API,您可以执行各种创建、检索、更新、删除和执行 (CRUDX) 操作。OAS 模式还描述了 API 输入和输出(数据模型)。

您可以通过以下两种方式使用 NVUE 对象模型

  • 通过 NVUE REST API,您可以在 NVUE 对象模型端点上运行 GET、PATCH、DELETE 和其他 REST API,以配置、监控和管理交换机。由于 OAS 拥有庞大的用户社区和成熟度,您可以使用多种流行的工具和库来创建客户端绑定,以使用 NVUE REST API。
  • 通过 NVUE CLI,您可以在其中配置、监控和管理 Cumulus Linux 网络元素。CLI 命令转换为等效的 REST API,然后 Cumulus Linux 在 NVUE 对象模型上运行这些 API。

CLI 和 REST API 在功能上是等效的;您可以从 REST API 或 CLI 运行所有管理操作。NVUE 对象模型驱动 REST API 和 CLI 管理操作。所有操作都是一致的;例如,CLI nv show 命令反映您通过 REST API 运行的任何 PATCH 操作(创建)。

NVUE 遵循声明式模型,删除了特定于上下文的命令和设置。它被构建为一棵大树,代表 Cumulus Linux 实例的整个状态。树的底部是代表对象的高级分支,例如路由器接口。在每个分支下还有更深的分支。当您在树中导航时,您会获得更具体的上下文。树的叶子是实际的属性,表示为键值对。树的路径类似于文件系统路径。

Cumulus Linux 默认安装 NVUE 并启用 NVUE 服务 nvued