了解适用于 Junos OS 的 Ansible

您可以使用 Ansible 部署和管理运行 Junos OS 的设备以及运行 Junos OS Evolved 的设备。

适用于 Junos OS 的 Ansible 概述

Ansible 是一个 IT 自动化框架,可用于基础架构配置管理。除了计算和云基础架构之外,Ansible 还支持网络基础架构的自动化。瞻博网络支持使用 Ansible 管理运行 Junos OS 的设备和运行 Junos OS Evolved 的设备。您可以使用 Ansible 在 Junos 设备上执行操作和配置任务。例如,您可以检索信息、管理配置、安装和升级 Junos OS,以及重置、重新启动或关闭托管设备。

Ansible 有好几个类型。您可以使用以下应用程序或软件包来管理 Junos 设备:

  • Ansible Core - Ansible 的免费开源基础版本,仅包含必要的模块和插件

  • Ansible 社区 — 包含 ansible-core 许多 Ansible 内容集的软件包

  • 红帽 Ansible 自动化平台 (AAP) — 商业应用程序,包括 webui、基于角色的访问控制 (RBAC) 和分析等附加功能。

Ansible 使用客户端/服务器架构。您可以在控制节点上安装 Ansible 软件,这是一个类 Unix 系统,可在一个或多个托管节点上执行操作。Ansible 使用无代理架构,因此不需要在托管设备上安装任何特定于 Ansible 的软件。尽管 Ansible 通常需要在托管节点上使用 Python,但管理网络设备却不需要 Python。对于 Junos 设备,Ansible 控制节点在本地运行任务,并使用 Junos XML API 和 NETCONF 与设备进行交互。

Ansible 通常使用推送模型,其中服务器按需向托管节点发送状态信息。Ansible 模块是在节点上执行请求的功能的离散代码单元。托管节点执行作业并将结果返回给服务器。通常,Ansible 模块都是幂等的。如果多次执行相同的 playbook 或操作,它会产生相同的结果,因为模块仅在需要时应用更改。

瞻博网络提供了可用于管理 Junos 设备的 Ansible 模块。瞻博网络模块采用集合式分发。有关可用集合和模块的更多信息,请参阅 了解适用于 Junos OS 的 Ansible 集合和模块。

Ansible 是用 Python 编写的,但它使用简单的 YAML 语法来表达自动化作业。因此,您可以快速上手,因为您不需要 Python 知识即可使用 Ansible。Ansible 还利用 Jinja2 模板语言来实现动态表达式和对变量的访问。

Ansible 和 Ansible 在 Junos OS 上的优势

  • 使用简单易学的语法

  • 缩短部署新网络设备和应用的时间

  • 为管理大量设备提供高效且可扩展的解决方案

  • 通过自动执行任务和减少设备手册配置和管理来提高运维效率

  • 通过标准化将风险和错误降至最低

  • 改进变更管理流程

  • 使用无代理架构

更多资源

本文档假设读者熟悉 Ansible 框架。 表 1 提供了使用 Ansible 管理 Junos 设备的资源。

表 1:适用于 Junos OS 的 Ansible 资源

资源

描述

URL

适用于 Junos OS 的 Ansible 文档

详细介绍如何使用 Ansible 管理 Junos 设备的文档。

https://www.juniper.net/documentation/product/us/en/ansible-for-junos-os/

适用于 Junos OS 的 Ansible 模块概述

概述了可用于管理 Junos 设备的不同模块的文档。

了解适用于 Junos OS 的 Ansible 集合和模块

Ansible Galaxy

Ansible Galaxy 网站。

https://galaxy.ansible.com

Ansible 网站和文档

Ansible 官方网站和文档。

https://www.ansible.com

https://docs.ansible.com

GitHub 存储库

适用于 Junos OS 的 Ansible 项目的公共存储库。该存储库包括所有版本的最新源代码、安装说明和发行说明摘要。

https://github.com/Juniper/ansible-junos-stdlib/

瞻博网络 juniper.device 合集

下载瞻博网络 juniper.device 合集的站点和 API 参考文档。

https://galaxy.ansible.com/ui/repo/published/juniper/device/

https://galaxy.ansible.com/ui/repo/published/juniper/device/docs/

https://ansible-juniper-collection.readthedocs.io/