Ansible 和 NRE Labs 的不可知网络自动化示例
Ansible 和 NRE Labs 的不可知网络自动化示例
2 月 10 日,NRE Labs 项目推出了四个 Ansible 网络自动化练习,这得益于 Red Hat 和 Juniper Networks 的支持。 这篇博客文章介绍了 NRE 的工作职责、NRE Labs 的目标,以及对新练习和 Red Hat 与 Juniper 共同演示的概念的简要概述。 这些初始练习的目标受众是 Ansible 网络自动化新手,对 Ansible 和网络自动化的经验有限。这些练习的初始网络拓扑涵盖了 Ansible 自动化 Juniper Junos OS 和 Cumulus VX 虚拟网络实例。
关于 NRE Labs
Juniper 将 NRE 或 网络可靠性工程师 定义为可以帮助组织进行现代网络自动化的人。 这个概念有许多不同的名称,包括网络的 DevOps、NetDevOps,或者仅仅是网络自动化。 Juniper 和 Red Hat 意识到这种技能对于许多传统的网络工程师来说是新的,并共同努力创建在线练习来帮助人们开始使用 Ansible 网络自动化。 具体来说,Juniper 通过 NRE Labs 与我们合作,NRE Labs 是他们发起并共同赞助的一个项目,它提供了一个无任何约束、以社区为中心的计划,让每个人都能接触到自动化技能。这通过您浏览器中的简短、简单的练习来实现。 您可以在以下位置找到 NRE Labs:https://nrelabs.io
随着 Red Hat Ansible Engine 2.9 的发布,我们引入了资源模块和本地事实收集的概念,因此我想确保这些练习涵盖 Ansible 网络自动化的最新和最棒的方面,以使网络工程师能够轻松上手。 如果您不熟悉资源模块、本地事实收集,甚至只是 Juniper 网络平台,我认为浏览一下这些练习是值得的!
让我们从网络图开始
这四个练习中的每一个都有一套不同的目标、分步说明和 Ansible 知识的收获。
本练习涵盖了 Ansible 基于 INI 的清单是什么样的、Ansible 配置文件 (ansible.cfg) 以及运行 Ansible 剧本以在 Juniper Junos 上启用 NETCONF。 本练习还说明了幂等的概念及其在网络自动化中的重要性。
练习 2 - 事实
本练习涵盖了本地事实收集(使用 gather_facts: True)和使用 debug 模块。 我们展示了如何仅使用三个任务将序列号和版本号快速打印到终端窗口。
练习 3 - 资源事实
本练习涵盖了更深入的事实收集,使用 junos_facts 模块与新的 gather_network_resources 参数结合使用。 这允许 junos_facts 模块从任何资源模块收集事实,以读取网络配置并将其存储为 YAML/JSON。 本练习还涵盖了将这些事实转换为结构化的 YAML 文件。
练习 4 - 网络配置模板
本练习涵盖了使用和理解主机变量、使用简单的 Jinja2 模板、使用 junos_config 模块针对 Juniper Junos 和 template 模块针对 Cumulus Linux。 本练习的总体目标是使用 Ansible 网络自动化在 Cumulus VX 设备 cvx11 和 Juniper Junos 设备 vqfx1 之间创建 OSPF 邻接关系。