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.
Conjunto de contenido |
Descripción |
Versiones de Ansible |
---|---|---|
|
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 |
|
Recopilación para administrar dispositivos Junos, que Ansible proporciona, mantiene y admite. |
Ansible 2.10 y versiones posteriores |
Módulos centrales de Ansible |
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 |
De Ansible 2.1 a Ansible 2.9 |
|
Función de administración de dispositivos Junos que Juniper Networks proporciona, mantiene y admite. Este rol es reemplazado por la |
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.

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 lacollections
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éndoloconnection
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. Losjuniper.device
módulos de colección también admiten el usoconnection: juniper.device.pyez
de , 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.
--- - name: Get Device Facts hosts: dc1 connection: local gather_facts: no tasks: - name: Retrieve facts from a Junos device juniper.device.facts: savedir: "{{ playbook_dir }}" - name: Print version ansible.builtin.debug: var: junos.version
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.
user@ansible-cn:~$ ansible --connection local -i production dc1 -m juniper.device.facts
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/.
Nombre del módulo juniper.device |
Descripción |
---|---|
|
Ejecute comandos de CLI en el dispositivo Junos y guarde la salida localmente. |
|
Administre la configuración de los dispositivos Junos. |
|
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. |
|
Ejecute pruebas de Junos Snapshot Administrator en Python (JSNAPy) a través de Ansible. |
|
Transfiera un archivo entre el nodo de control de Ansible local y el dispositivo Junos. |
|
Ejecute el |
|
Realice el descubrimiento de MTU de ruta en dispositivos Junos. |
|
Ejecute RPC de Junos OS. |
|
Instale un paquete de software de Junos OS y reinicie un dispositivo Junos. |
|
Realice operaciones del sistema en dispositivos Junos, como el restablecimiento, el reinicio o el apagado del dispositivo. |
|
Cree un clúster de chasis serie SRX para firewalls serie SRX con capacidad de clúster. |
|
Utilice las tablas y vistas operativas de Junos PyEZ para recuperar información operativa de dispositivos Junos. |