Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 

了解用于管理集合、Junos OS和模块的 Ansible

总结瞻博网络提供 Ansible 模块,可用于管理运行 Junos OS。

了解用于管理运行新设备的 Ansible 集合、角色和Junos OS

Ansible 是一种 IT 自动化框架,用于基础架构配置管理。您可使用 Ansible 模块(这是离散代码单元)在托管节点上执行特定功能。您可以在远程主机上执行各个模块以执行临时任务,也可通过操作指南执行模块。

Ansible 和 瞻博网络 提供 Ansible 模块,可用于管理运行 Junos OS。Ansible 瞻博网络模块通过 Ansible 角色和集合进行分组和分发,这些角色和集合托管在 Ansible Galaxy 存储库中。 表 1 概括了可用于管理运行新设备的不同Junos OS。

表 1:用于管理运行新设备的 Ansible 内容集Junos OS

内容集

描述

Ansible 版本

Ansible 核心模块

Ansible 基本安装中包含 Ansible 模块。

在 Ansible 2.10 中,核心模块从基本安装移到 Ansible junipernetworks.junos 集合中。

Ansible 2.1 至 Ansible 2.9

juniper.device 收集

用于管理运行 Junos OS 设备的集合,瞻博网络作为开源项目提供和管理。

Ansible 2.10 和更高版本

Juniper.junos 作用

角色,用于管理运行 Junos OS(瞻博网络、维护和支持)的设备。

此角色被集合 juniper.device 取代。

Ansible 2.1 和更高版本

junipernetworks.junos 收集

集合,用于管理运行 Ansible Junos OS、维护和支持的设备。

Ansible 2.10 和更高版本

Ansible 角色是一组任务,支持用于配置主机的变量、文件、模板和模块。从 Ansible 2.10 开始,Ansible 支持 Ansible 内容收集,这是用于分发 Ansible 内容的格式,在 Ansible 基本安装中不包含。Ansible 集合可以包括更广泛的内容,包括模块、指南、插件和角色。Ansible 集合还有其自己的存储库,可以独立于 Ansible 基本安装进行开发与发布。

在 Ansible 2.9 及更早版本,您可以使用 瞻博网络 角色中提供的模块或者使用 Ansible 基本安装中提供的核心模块来管理运行 Junos OS 的设备。 Juniper.junos 从 Ansible 2.10 开始,角色和 Ansible 核心模块被相应的 Juniper.junos 集合取代。引入 瞻博网络 系列后,该角色的模块会根据集合中的新名称复制,从而保留与原始模块相同的功能和参数,参数除外 juniper.device Juniper.junos provider 。尽管角色可以与集合共存,并且将在以后版本中工作,但我们建议您使用该集合,因为只会将新功能添加到未来 Juniper.junos juniper.device juniper.device 收集中。

如何在运行新设备的设备上执行Junos OS

要使用 Ansible Galaxy 存储库中托管的集合和角色,必须先在控制节点上安装 Ansible,然后安装收集或角色。有关安装集合或角色的信息 juniper.device Juniper.junos ,请参阅 Ansible Junos OS要求

Ansible 模块可在托管节点上执行操作。通常,Ansible 控制节点会向托管节点发送一个模块,然后执行该节点,然后再移除。在这种情况下,托管节点必须能够执行该模块。由于大多数 Ansible 模块都是以 Python 编写,因此 Ansible 通常需要在托管节点上使用 Python。

但是瞻博网络和角色中的配置模块在托管节点上不需要 juniper.device Juniper.junos Python。与典型操作相反,您可在本地 Ansible 控制节点上执行模块,而模块使用 netCONF 上的 Junos PyEZ 和 Junos XML API 与托管节点接口。通过这种执行方法,您可以使用 Ansible 管理运行 Junos OS 的任何支持的设备。图 1 说明了 Ansible 控制节点和运行 Junos OS 的受管理设备之间的Junos OS。

图 1:Ansible与运行网络的设备Junos OS Ansible Communication with Devices Running Junos OS

要使用收集中的模块 juniper.device 或角色, Juniper.junos 指南或命令必须:

  • 指定收集或角色 — 要指定集合或角色,请包括 collectionsroles 其中的关键。或者,您可以省略密钥,而用其完全限定集合名称 collections (FQCN) 来引用收集内容,这是建议的方法。

  • 在控制节点上本地执行模块 — 要在本地运行 Ansible 模块,您可将参数定义为 ,例如,在指南中包括或包括在命令行 connection local connection: local --connection local 中。

    注意:

    使用时,Ansible 会为播放中需要连接的每项任务建立 connection: local 单独的设备连接。收集模块还支持 使用 ,其中仍将在本地执行模块,但会为播放中的所有任务建立单个设备的 juniper.device connection: juniper.device.pyez 持久连接。

  • 提供适当的连接和身份验证信息以连接到受管理设备 — 有关详细信息,请参阅:

您可以使用任何用户帐户执行 Ansible 模块,该用户帐户可以访问运行此设备的受Junos OS。当您执行 Ansible 模块时,Junos OS用户帐户访问权限将强制实施,而为 Junos OS 用户帐户配置的类将决定权限。因此,如果用户执行将配置更改加载至设备的模块,用户必须具有更改配置相关部分的权限。

以下指南执行该 juniper.device 集合的模块检索设备事实 facts 并将其保存至文件。示例使用默认位置的现有 SSH 密钥来通过设备进行身份验证,因此在操作手册中不会显式提供凭证。

同样,以下操作指南将执行 Juniper.junos 该角色 juniper_junos_facts 的模块以执行相同的操作。

您还可以在命令行上执行临时操作。以下命令执行 juniper.device 该集合的模块,从清单组 facts dc1 中的主机检索设备事实数据。

瞻博网络 juniper.device 集合

瞻博网络提供 Ansible 内容集合,该集合托管在 juniper.device Ansible Galaxy 网站,包含 Ansible 模块,支持您管理运行 Junos OS。

表 2 概括显示了该集合中的 juniper.device 模块。在集合的初始版本中,除了对收集模块不支持的参数之外,收集模块将保留与角色中的相应模块相同的功能和 Juniper.junos provider 参数。

有关模块的当前列表、文档和使用示例 ,请参阅https://ansible-juniper-collection.readthedocs.io/en/latest/ 。

表 2: juniper.device 收集模块

juniper.device 模块名称

描述

command

在CLI设备上执行 Junos OS,然后在本地保存输出。

config

管理运行新设备的Junos OS。

facts

从远程主机检索设备特定信息,包括Junos OS、序列号和硬件型号。

jsnapy

从 Ansible Junos Python (JSNAPy) 测试执行快照管理员。

ping

ping 运行 Junos OS 的设备上执行 Junos OS。

pmtud

在运行 MTU 的设备上执行路径Junos OS。

rpc

执行 Junos OS RPC。

software

安装一Junos OS软件包,重新启动运行 Junos OS。

system

对运行 Junos OS 的设备执行系统操作,包括重置、重新启动或关闭设备。

srx_cluster

为运行多机箱的具有群集功能的 SRX 系列服务网关创建 SRX 系列Junos OS。

table

使用Junos PyEZ 操作表和视图从运行新设备的设备检索操作Junos OS。

瞻博网络 瞻博网络.junos 角色

瞻博网络 提供 Ansible 角色,该角色托管在 Ansible Galaxy 网站,包含 Ansible 模块,支持您管理运行 Junos OS 的设备。 Juniper.junos 从 Ansible 2.10 juniper.device 开始 Juniper.junos ,集合取代该角色。除了参数之外,集合中的模块具有与角色中的模块相同的功能和 provider 参数。虽然收集和角色可以共存在同一平台上,并且您可以在以后版本中继续使用这些模块,但我们建议您使用该集合,因为只会将新功能添加到未来添加 Juniper.junos juniper.device 的集合中。

表 3 汇总了担任该角色的 Juniper.junos 模块。有关模块的当前列表、文档和使用示例 ,请参阅https://junos-ansible-modules.readthedocs.io/en/latest/ 。

注意:

Juniper.junos 2.0.0 版开始, Juniper.junos 该角色包括一组增强型模块。每个新模块都取代了一个或多个现有模块的功能。增强型模块支持一组通用连接和认证参数、别名,使您能够指定与核心模块相同的连接和身份验证相关选项,并能够在提供商词汇表内指定参数。

表 3:瞻博网络.junos 角色模块

模块名称

描述

从版本 2.0.0 起弃用模块

juniper_junos_command

在CLI设备上执行 Junos OS,然后本地保存输出。

junos_cli

juniper_junos_config

管理运行新设备的Junos OS。

junos_commit

junos_get_config

junos_install_config

junos_rollback

juniper_junos_facts

从远程主机检索设备特定信息,包括Junos OS、序列号和硬件型号。

junos_get_facts

juniper_junos_jsnapy

从 Ansible Junos Python (JSNAPy) 测试执行快照管理员。

junos_jsnapy

juniper_junos_ping

ping 运行 Junos OS 的设备上执行 Junos OS。

junos_ping

juniper_junos_pmtud

在运行 MTU 的设备上执行路径Junos OS。

junos_pmtud

juniper_junos_rpc

执行 Junos OS RPC。

junos_rpc

juniper_junos_software

安装一Junos OS软件包,重新启动运行 Junos OS。

junos_install_os

juniper_junos_system

对运行 Junos OS 的设备执行系统操作,包括重置、重新启动或关闭设备。

junos_shutdown

junos_zeroize

juniper_junos_srx_cluster

为运行多机箱的具有群集功能的 SRX 系列服务网关创建 SRX 系列Junos OS。

junos_srx_cluster

juniper_junos_table

使用Junos PyEZ 操作表和视图从运行新设备的设备检索操作Junos OS。

junos_get_table

版本历史记录表
释放
描述
2.0.0
从 瞻博网络.junos 2.0.0 版开始,瞻博网络.junos 角色包含一组增强的模块。