了解适用于 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 设备的资源。
|
资源 |
描述 |
URL |
|---|---|---|
|
适用于 Junos OS 的 Ansible 文档 |
详细介绍如何使用 Ansible 管理 Junos 设备的文档。 |
https://www.juniper.net/documentation/product/us/en/ansible-for-junos-os/ |
|
适用于 Junos OS 的 Ansible 模块概述 |
概述了可用于管理 Junos 设备的不同模块的文档。 |
|
|
Ansible Galaxy |
Ansible Galaxy 网站。 |
|
|
Ansible 网站和文档 |
Ansible 官方网站和文档。 |
|
|
GitHub 存储库 |
适用于 Junos OS 的 Ansible 项目的公共存储库。该存储库包括所有版本的最新源代码、安装说明和发行说明摘要。 |
|
|
瞻博网络 |
下载瞻博网络 |
https://galaxy.ansible.com/ui/repo/published/juniper/device/ https://galaxy.ansible.com/ui/repo/published/juniper/device/docs/ |