Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

自由格式设计

蓝图

使用 Freeform 参考设计创建新网络时,首先要创建蓝图。与其他参考设计一样,蓝图包含与 Apstra 管理的操作网络相关联的所有元素。在 Freeform 中蓝图的结构和使用方式上存在一些关键差异。数据中心参考设计需要设计和构建逻辑设备、接口图、机架和模板等元素。这些步骤在 Freeform 设计中是不必要的,因为配置详细信息和设备链路直接创建到蓝图中。创建新蓝图时,只需选择 Freeform Reference Design(如 所示)。

拓扑

创建新的 Freeform 蓝图后,您可以开始设计网络拓扑。与 DC 参考架构一样,所有设计工作均从“阶段蓝图”选项卡完成。Freeform 中的阶段性拓扑编辑区域是您与元素交互以创建网络设计和架构的地方。该拓扑编辑器是 Freeform 中的一项新功能,允许您以交互式方式创建定制网络设计。您可以选择网络设备,并通过在它们之间定义链路来实现交互连接。这些设备可以是内部设备,也可以是外部设备,如下文所示。

要访问拓扑编辑器,请单击拓扑视图上的编辑按钮。

内部设备受 Apstra 管理,必须映射到使用代理建模设备功能并与设备交互的设备配置文件。外部设备不直接在 Apstra 管理保护伞下,但仍可以在拓扑视图中建模,以便与内部设备(例如链路和速度)交互。外部设备不使用设备代理或型号。您可以在设备、单个或多个设备之间创建链路,甚至创建聚合链路。您可以与拓扑交互,以便重新排列设备和链路的设计布局、添加链路以及编辑颜色或标记。您可以通过选择系统的设备图标来执行创建、读取、更新和删除 (CRUD) 操作。您可以选择对单个对象和对象进行批量执行 CRUD 操作。

颜色

您可以使用颜色在 Apstra 设备之间创建快速视觉分组和区分。例如,连接到防火墙的设备可能呈红色,而仅执行 IP 转发的设备可以是橙色的。

标签

在 Apstra 中,标记是一项强大的功能。标记是将元数据分配给 Apstra 托管资源的一种方式。这些标记可帮助您识别、整理、搜索和过滤 Apstra 资源:当前的设备和链路。标记也很有用,可帮助您按用途、所有者、环境或其他标准对资源进行分类。由于标记是元数据,它们不仅用于可视化标签,还作为 Apstra 图形数据库中节点的属性应用。此节点属性或设备属性可供您在 Jinja 中参考配置生成中的动态变量,以及通过 Apstra 的实时查询技术和 Apstra 基于意图的分析进行 Apstra 实时分析。

例如,您可以使用标记“防火墙”来呈现特定的说明

Jinja Support 部分查看有关如何访问和使用标记的更多示例。

创建系统

您可以从 拓扑 视图或 系统 视图中创建系统:

  1. 分阶段>拓扑>拓扑编辑

    使用底部菜单中的前两个图标来创建内部或外部系统。新系统显示在 拓扑 视图中。在创建内部系统之前,要将其设备配置文件导入蓝图目录,然后在创建内部系统时将其分配。

  2. 分阶段>系统

    此方法会自动将新系统添加到拓扑视图中。您可以选择从现有托管设备创建新系统,或者创建具有特定设备配置文件的新系统,并在设备准备就绪且属于 Apstra 托管设备的一部分之后分配托管设备。

创建链路

链路用于将对象或设备连接在一起。链路可以是单个链路,也可以是聚合链路。这些链路可通过拓扑编辑器“gear”图标分配给他们的参数。链路可以具有 IP 地址,并分配标记。

设备配置文件

设备配置文件定义受支持的硬件设备的功能。某些功能在 NOS 版本中具有不同的行为,因此,功能可以按 NOS 版本表示。

在 Freeform 的初始版本中,仅支持瞻博网络的设备配置文件。

您必须先将设备配置文件导入蓝图,然后才能开始构建。然后,您可以在蓝图的拓扑编辑器中使用这些设备。

配置模板

由于 Freeform 中的网络元素设计是任意的,设备配置不会由 Freeform 参考设计自动呈现:配置留给您完全定义。从 Apstra 4.1.1 开始,我们引入了专为 Freeform 打造的 Config 模板的概念,以驱动设备配置。配置模板可以非常简单和静态,非常复杂和编程,具体取决于您所熟悉使用的用例和自动化水平。Config 模板支持使用 Jinja2 模板语言,可选择与设备上下文和属性集交互。

嵌套(可组合)配置模板

由于 Config 模板支持 Jinja 模板,因此支持强大的嵌套功能,允许您从另一个配置模板的列表中包含配置模板的一部分。嵌套配置模板有两个主要优势。首先,通过嵌套,您可以将各种服务、配置部分等分隔到通用组件,并为它们创建专用配置模板。

例如,假设大多数瞻博网络设备都有横幅、登录、NTP 等基本系统部分配置。您无需将相同的配置复制并粘贴到每个设备模板中,而是可以为基本系统配置创建专用配置模板。然后,您只需从另一个模板中引用该模板即可。

由于您只能为每个系统分配一个配置模板,第二个好处是任何嵌套配置模板的所有实体都会自动继承。

例如,下面的配置模板 junos_configuration.jinja 是一个配置模板,带有多个嵌套配置模板,例如 junos_system.jinja

嵌套 junos_system.jinja 模板用于呈现系统主机名。

渲染顺序

配置按配置模板的顺序进行。

属性集

属性集是密钥值对的集合,您可导入蓝图目录,以便在 Config 模板和 IBA 探测中使用。使用属性集是可选的,但它提供了一个有价值的功能,允许您完全参数化配置模板,将配置模板的未更改部分与实际变量分开。换句话说,属性集允许您丰富用于以任意灵活的方式呈现配置的设备模型。

例如,企业中所有设备上的 NTP 配置可能一致,但每个地理位置的时间来源或地层各不相同。NTP 配置模板可以使用不同于这些区域的变量构建。在这种情况下,您可以使用名为“ntp”的财产。

使用正确的语法很重要;关键值对案例非常敏感。

配置模板将与要用于 NTP 服务器的实际 IP 地址一起 {{ntp}} 构建。相同的配置模板导入所有蓝图中,但在东部地区运行的蓝图将导入“东方”物业集,在西部地区运行的蓝图将导入“西部”物业集。资产集在默认情况下是广泛的蓝图,或是全局环境。

Freeform 还支持可专门分配给设备的属性集。这允许您设置特定的属性集并分配它们,并且仅在指定的设备中使用。属性集是图形的一部分;它们的值可用于 IBA 探查。

以上示例显示,可通过设备上下文(左侧)或图形访问属性集(右侧)

属性集中的数据结构

Freeform Property Sets 支持高级数据结构,您可以使用这些结构来完成不同的用例。Freeform Property Sets 支持任何典型的 Python 数据类型,例如:

  • 阵列(物品清单)

  • 布尔:真还是假

  • Int:1、2、3 等

  • 浮子:1.2、3.65 等

  • 字符串:“你好世界”

  • 字典: {“asn”: 65432, “lo0”: “1.2.3.4/32”}

以上示例显示配置模板中的不同数据类型

您可以参考全球资产集或将其分配给蓝图中的系统。下面的屏幕截图显示了使用嵌套字典(字典字典)数据结构构建的房产集。

您可以使用密钥重复字典,并根据需要使用密钥作为值,例如:

  • esxRedTrunk 是要用作接口说明的链路标记名称

  • 99、100、101 是要分配的 VLAN ID/中继成员 & irb.<value>

  • 子网 / 说明 / 网关也用于派生有意义的配置

部署模式(部署/就绪/ 清空)

您可以在 Freeform 中设置系统的部署模式(与数据中心蓝图中的部署模式相同)。

但是,在 Freeform 中,当系统处于每个模式时,您将定义呈现的配置。

您可以使用部署模式有条件地呈现不同的配置,例如是呈现路由协议会话,还是指示特定路由图如何在设备上呈现。例如,如果设备设置为“Drain”,则会有特定的 Jinja 生成删除动态路由协议的配置。

系统部署模式在设备上下文中暴露给用户,可在 Config 模板中引用为 Jinja 变量。

此外,还提供相邻系统的部署模式。

如果系统分配给系统的 Config 模板未引用,更改系统的部署模式不会对呈现的配置产生任何影响。

在 Jinja Config 模板中如何实现这一点的示例如下:

在此示例中 protocols.jinja ,当给定节点处于“部署”或“排干”状态时,这两个节点都将保持活动状态并 policy_options.jinja 变得活跃起来。您可以修改行为以满足个人需求。