Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Descripción de Ansible para colecciones y módulos de Junos OS

RESUMEN Juniper Networks proporciona módulos de Ansible que puede usar para administrar dispositivos Junos.

Descripción de las colecciones y los módulos de Ansible para administrar dispositivos Junos

Ansible es un marco de automatización de TI que se utiliza para la gestión de la configuración de la infraestructura. Los módulos de Ansible se utilizan, que son unidades de código discretas, para realizar funciones específicas en un nodo administrado. Puede ejecutar módulos individuales en hosts remotos para realizar tareas ad hoc, o puede ejecutar módulos a través de manuales.

Ansible y Juniper Networks proporcionan módulos de Ansible que puede usar para administrar dispositivos Junos. Los módulos de Ansible de Juniper Networks se agrupan y distribuyen a través de colecciones de Ansible, que se alojan en el repositorio de Ansible Galaxy . En la Tabla 1 se describen los distintos conjuntos de contenido disponibles para administrar dispositivos Junos.

Tabla 1: Conjuntos de contenido de Ansible para administrar dispositivos Junos

Conjunto de contenido

Descripción

Versiones de Ansible

juniper.device colección

Colección para la administración de dispositivos Junos, que Juniper Networks proporciona y administra como un proyecto de código abierto.

Ansible 2.10 y versiones posteriores

junipernetworks.junos colección

Recopilación para administrar dispositivos Junos, que Ansible proporciona, mantiene y admite.

Ansible 2.10 y versiones posteriores

Módulos centrales de Ansible
(en desuso)

Módulos de Ansible incluidos en la instalación base de Ansible.

En Ansible 2.10, los módulos principales pasaron de la instalación base a la junipernetworks.junos colección de Ansible.

De Ansible 2.1 a Ansible 2.9

Juniper.junos rol
(en desuso)

Función de administración de dispositivos Junos que Juniper Networks proporciona, mantiene y admite.

Este rol es reemplazado por la juniper.device colección.

Ansible 2.1 y versiones posteriores

Un rol de Ansible es un conjunto de tareas y variables auxiliares, archivos, plantillas y módulos para configurar un host. A partir de Ansible 2.10, Ansible admite Ansible Content Collections, un formato para distribuir contenido de Ansible que no se incluye como parte de la instalación base de Ansible. Las colecciones de Ansible pueden incluir una gama más amplia de contenido, incluidos módulos, playbooks, complementos y roles. Las colecciones de Ansible también tienen sus propios repositorios y se pueden desarrollar y publicar independientemente de la instalación base de Ansible.

En Ansible 2.9 y versiones anteriores, puede administrar dispositivos Junos mediante los módulos proporcionados en el rol Juniper Networks Juniper.junos o con los módulos principales proporcionados como parte de la instalación base de Ansible. A partir de Ansible 2.10, el Juniper.junos rol y los módulos principales de Ansible se reemplazan por la colección correspondiente. Con la introducción de la colección de Juniper Networks juniper.device , los módulos del Juniper.junos rol se duplicaron con nuevos nombres en la colección y, por lo tanto, conservan la misma funcionalidad y parámetros que los módulos originales, con la excepción del provider parámetro. Le recomendamos que use la juniper.device colección, ya que las nuevas características solo se agregarán a la colección en el futuro.

Cómo ejecutar módulos en dispositivos Junos

Para utilizar las colecciones alojadas en el repositorio de Ansible Galaxy, primero debe instalar Ansible en el nodo de control y, a continuación, instalar la colección. Para obtener más información acerca de la instalación de la juniper.device colección, consulte Requisitos del servidor de Ansible para Junos OS.

Los módulos de Ansible pueden realizar operaciones en un nodo administrado. Normalmente, el nodo de control de Ansible envía un módulo a un nodo administrado, donde se ejecuta y luego se elimina. En este escenario, el nodo administrado debe tener la capacidad de ejecutar el módulo. Debido a que la mayoría de los módulos de Ansible están escritos en Python, Ansible generalmente requiere Python en el nodo administrado.

Sin embargo, los módulos de Juniper Networks de la juniper.device colección no requieren Python en los nodos administrados. A diferencia de la operación típica, los módulos se ejecutan localmente en el nodo de control de Ansible y los módulos utilizan Junos PyEZ y la API XML de Junos a través de NETCONF para interactuar con el nodo administrado. Este método de ejecución le permite usar Ansible para administrar cualquier dispositivo Junos compatible. La figura 1 ilustra la comunicación entre el nodo de control de Ansible y un dispositivo Junos administrado.

Figura 1: Comunicación de Ansible con un dispositivo Ansible Communication with a Junos Device Junos

Para utilizar los módulos de juniper.device recopilación, el manual o comando debe:

  • Especificar la colección o FQCN: para especificar la colección, incluya la collections clave en la reproducción. Como alternativa, puede omitir la collections clave y, en su lugar, hacer referencia al contenido de la colección por su nombre de colección completo (FQCN), que es el método recomendado.

  • Ejecutar los módulos localmente en el nodo de control: para ejecutar módulos de Ansible localmente, defina el parámetro como local, por ejemplo, incluyéndolo connection connection: local en su playbook o incluso --connection local en la línea de comandos.

    Nota:

    Cuando se utiliza connection: local, Ansible establece una conexión independiente con el dispositivo para cada tarea de la reproducción que requiera una conexión. Los juniper.device módulos de colección también admiten el uso connection: juniper.device.pyezde , que sigue ejecutando los módulos localmente, pero en su lugar establece una conexión única y persistente con un dispositivo para todas las tareas de una reproducción.

  • Proporcionar la información de conexión y autenticación adecuada para conectarse al dispositivo administrado: para obtener más información, consulte:

Puede ejecutar módulos de Ansible con cualquier cuenta de usuario que tenga acceso al dispositivo Junos administrado. Al ejecutar módulos de Ansible, se aplican privilegios de acceso a la cuenta de usuario de Junos OS y la clase configurada para la cuenta de usuario de Junos OS determina los permisos. Por lo tanto, si un usuario ejecuta un módulo que carga cambios de configuración en un dispositivo, el usuario debe tener permisos para cambiar las partes relevantes de la configuración.

El siguiente manual ejecuta facts el módulo de la juniper.device colección para recuperar los datos del dispositivo y guardarlos en un archivo. En el ejemplo se utilizan claves SSH existentes en la ubicación predeterminada para autenticarse con el dispositivo y, por lo tanto, no se proporcionan explícitamente las credenciales en el manual.

También puede realizar operaciones ad-hoc en la línea de comandos. El siguiente comando ejecuta el módulo de facts la juniper.device colección y recupera datos del dispositivo de los hosts del grupo de inventario dc1.

Juniper Networks juniper.device Collection

Juniper Networks ofrece la colección de contenido de juniper.device Ansible, que se aloja en el sitio web de Ansible Galaxy . La colección incluye módulos de Ansible que le permiten administrar dispositivos Junos.

La Tabla 2 describe los módulos de la juniper.device colección. En la versión inicial de la colección, los módulos de recopilación conservan la misma funcionalidad y parámetros que el módulo correspondiente en el Juniper.junos rol, con la excepción del parámetro, que no es compatible con los módulos de provider recopilación.

Para obtener la lista, la documentación y los ejemplos de uso más recientes de los módulos, consulte https://ansible-juniper-collection.readthedocs.io/.

Tabla 2: Módulos de recolección de juniper.device

Nombre del módulo juniper.device

Descripción

command

Ejecute comandos de CLI en el dispositivo Junos y guarde la salida localmente.

config

Administre la configuración de los dispositivos Junos.

facts

Recupere información específica del dispositivo del host remoto, incluida la versión de Junos OS, el número de serie y el número de modelo del hardware.

jsnapy

Ejecute pruebas de Junos Snapshot Administrator en Python (JSNAPy) a través de Ansible.

file_copy

Transfiera un archivo entre el nodo de control de Ansible local y el dispositivo Junos.

ping

Ejecute el ping comando en dispositivos Junos.

pmtud

Realice el descubrimiento de MTU de ruta en dispositivos Junos.

rpc

Ejecute RPC de Junos OS.

software

Instale un paquete de software de Junos OS y reinicie un dispositivo Junos.

system

Realice operaciones del sistema en dispositivos Junos, como el restablecimiento, el reinicio o el apagado del dispositivo.

srx_cluster

Cree un clúster de chasis serie SRX para firewalls serie SRX con capacidad de clúster.

table

Utilice las tablas y vistas operativas de Junos PyEZ para recuperar información operativa de dispositivos Junos.