了解 Junos PyEZ
总结 使用 Junos PyEZ Python 库开发可远程管理 Junos 设备的 Python 脚本。
Junos PyEZ 概述
Junos PyEZ 是一个适用于 Python 的微框架,可用于管理和自动化 Junos 设备。Junos PyEZ 旨在为自动化任务构建的环境中,提供用户在 Junos OS CLI 上拥有的功能。Junos PyEZ 不需要对 Junos OS 或 Junos XML API 有广泛的了解。
Junos PyEZ 使您能够使用熟悉的 Python 来管理 Junos 设备。但是,您不必是经验丰富的程序员即可使用 Junos PyEZ。非程序员可以在Python交互模式下快速执行简单的命令,更有经验的程序员可以选择创建更复杂,健壮和可重用的程序来执行任务。
Junos PyEZ 使您能够使用串行控制台连接、telnet 或通过 SSH 的 NETCONF 会话直接连接到设备。此外,Junos PyEZ 还支持通过 telnet 或 SSH 连接到连接到设备 CONSOLE
端口的控制台服务器。您可以使用 Junos PyEZ 对尚未配置为远程访问的新设备或零化设备进行初始配置,方法是在直接连接到设备时使用串行控制台连接,或者通过直接连接到设备的控制台服务器使用 telnet 或 SSH。
Junos PyEZ 提供设备、软件和文件系统实用程序,使您能够在 Junos 设备上执行常见操作任务。您可以使用 Junos PyEZ 执行以下操作:
从设备检索事实或操作信息
执行可通过 Junos XML API 获得的远程过程调用 (RPC)
安装或升级 Junos OS 软件
重新启动或关闭设备
执行常见的管理任务,如复制文件和计算校验和
Junos PyEZ 还允许您管理 Junos 设备配置。Junos PyEZ 配置管理实用程序使您能够:
检索配置数据
比较配置
上载和提交配置更改
回滚配置
管理救援配置
Junos PyEZ 支持配置数据的标准格式,包括 ASCII 文本、Junos XML 元素、Junos OS set
命令和 JavaScript 对象表示法 (JSON)。您还可以使用 Jinja2 模板和模板文件来增加灵活性和自定义性。此外,还可以使用表和视图来定义可用于以编程方式配置设备的结构化资源。
Junos PyEZ 表和视图使您能够配置 Junos 设备并从设备中提取特定的操作信息或配置数据。您可以使用包含键值对映射的简单 YAML 文件定义表和视图,因此使用它们不需要复杂的编码。您可以使用表和视图检索任何 Junos 命令或 RPC 的设备配置或输出,然后提取自定义的信息子集。当您需要从嵌入在大量命令输出(如 or show route
show interfaces
命令)中的几个特定字段中检索信息时,这很有用。此外,您可以使用表和视图来定义结构化配置资源。Junos PyEZ 动态创建资源的配置类,使您能够以编程方式在设备上配置资源。
Junos PyEZ 的优势
提供一个抽象层,使 Python 程序员和非程序员都能够轻松管理和自动化 Junos 设备。
使操作员能够自动执行常见任务,从而减少设备的手动配置和管理,从而提高运营效率。
通过对目标资源启用结构化配置更改,将错误和风险降至最低。
在自动化脚本中使用 Junos PyEZ
Junos OS 和 Junos OS 演化版在受支持设备上的软件映像中包含 Python 扩展包和 Junos PyEZ 库。通过这些扩展,您可以创建本机 Python 脚本,这些脚本使用 Junos PyEZ 在设备上执行 RPC 并执行操作和配置任务。提交、事件、操作和 SNMP 脚本支持 Junos PyEZ;瞻博网络扩展工具包 (JET) 脚本;和杨的动作和翻译脚本。
表 1 汇总了运行给定 Junos OS 版本的受支持设备上提供的 Junos PyEZ 版本。例如,从 Junos OS 17.4R1 版开始,本机 Python 脚本可以利用 Junos PyEZ 2.1.4 版及更早版本中的功能。
Junos OS 版本 |
Junos PyEZ 版本 |
---|---|
16.1R3 到 17.3 |
1.3.1 |
17.4R1 到 19.3 |
2.1.4 |
19.4R1 及更高版本 |
2.2.0 |
有关创建本机 Python 自动化脚本的详细信息,请参阅《Junos OS 自动化脚本用户指南》中的了解运行 Junos OS 的设备的 Python 自动化脚本。
Junos PyEZ 资源
瞻博网络提供了大量 Junos PyEZ 资源,详见 表 2。
资源 |
描述 |
Url |
---|---|---|
API 参考 |
Junos PyEZ 模块的详细文档。 |
|
Day One:Junos PyEZ 说明书和脚本存储库 |
Junos PyEZ 网络自动化说明书,其中包含设置指南、启动沙盒和 GitHub 上提供的自动化脚本的完整展示。 |
https://www.juniper.net/documentation/en_US/day-one-books/DO_PyEZ_Cookbook.pdf https://github.com/Juniper/junosautomation/tree/master/pyez/PyEZ_Cookbook_2017 |
文档 |
Junos PyEZ 文档包含有关安装 Junos PyEZ 和使用 Junos PyEZ 在 Junos 设备上执行操作和配置任务的详细信息。 |
https://www.juniper.net/documentation/product/us/en/junos-pyez |
GitHub 存储库 |
Junos PyEZ 项目的公共存储库。此存储库包含所有版本的最新源代码、安装说明和发行说明摘要。 |
|
Google 网上论坛 |
解决问题并为 Junos PyEZ 提供一般支持的论坛。 |
|
示例脚本 |
Junos PyEZ 示例脚本可帮助您入门。 |
|
堆栈溢出论坛 |
解决问题并为 Junos PyEZ 提供一般支持的论坛。 |