Ansible pour la configuration requise du serveur Junos OS
Juniper Networks prend en charge l’utilisation d’Ansible pour gérer les appareils Junos et fournit des modules Ansible que vous pouvez utiliser pour effectuer des tâches opérationnelles et de configuration sur les appareils. Ansible prend en charge les collections de contenu Ansible, ou collections, à partir d’Ansible 2.10. Les modules Juniper Networks sont distribués via la collection Ansible suivante, qui est hébergée sur le site Web Ansible Galaxy :
-
juniper.devicecollection
Vous installez Ansible sur un nœud de contrôle avec un système d’exploitation de type Unix. Vous pouvez installer Ansible et la collection Juniper Networks :
-
Directement sur le serveur de gestion de la configuration
-
Dans un environnement virtuel Python
-
En tant que conteneur Docker
L’image Docker Juniper/pyez-Ansible de Juniper Networks est un système léger et autonome qui regroupe Ansible, les modules de Juniper Networks et toutes les dépendances dans un seul conteneur portable. Le conteneur Docker vous permet d’exécuter rapidement Ansible en mode interactif ou en tant que package exécutable sur n’importe quelle plateforme prenant en charge Docker.
Pour installer Ansible et la collection sous l’environnement Python installé par le système ou dans l’environnement juniper.device virtuel Python sur le nœud de contrôle, consultez les sections suivantes :
Pour utiliser l’image Docker d’Ansible pour Junos OS, reportez-vous à la section suivante :
Logiciels prérequis
Avant d’installer la collection Juniper Networks juniper.device et de commencer à utiliser Ansible pour gérer les appareils Junos, vous devez installer le logiciel prérequis suivant dans l’environnement sélectionné sur le nœud de contrôle Ansible. Vous pouvez installer le logiciel sous le Python installé par le système ou dans un environnement virtuel Python.
-
Python 3.10 ou version ultérieure
-
Ansible 2.17 ou version ultérieure
-
Junos PyEZ (
junos-eznc) version 2.7.3 ou ultérieure.Pour obtenir des instructions d’installation et des informations à jour sur Junos PyEZ, reportez-vous à :
-
jxmleaseModule Python, version 1.0.1 ou ultérieure -
looseversionModule Python, version 1.3.0 ou ultérieure -
xmltodictModule Python, version 0.13.0 ou ultérieure -
Junos Snapshot Administrator in Python (JSNAPy) version 1.3.7 ou ultérieure (requis pour utiliser le
jsnapymodule).Pour obtenir des instructions d’installation et des informations à jour sur JSNAPy, reportez-vous à :
Installez la collection juniper.device
Sur le nœud de contrôle Ansible, vous pouvez installer la juniper.device collection à partir du site Web Ansible Galaxy . Installez la collection dans le même environnement que celui dans lequel vous avez installé Ansible et les autres logiciels prérequis.
Pour installer la juniper.device collection :
ansible-galaxy collection install commande et spécifiez le juniper.device regroupement.
user@ansible-cn:~$ ansible-galaxy collection install juniper.device Starting galaxy collection install process Process install dependency map Starting collection install process Installing 'juniper.device:1.0.7' to '/home/user/.ansible/collections/ansible_collections/juniper/device' Downloading https://galaxy.ansible.com/download/juniper-device-1.0.7.tar.gz to /home/user/.ansible/tmp/ansible-local-23916uzdfbjsk/tmp4nhxnw3v juniper.device (1.0.7) was installed successfully
Utiliser l’image Docker d’Ansible pour Junos OS
Docker est une plateforme logicielle de conteneurs utilisée pour empaqueter et exécuter une application et ses dépendances dans un conteneur isolé. Juniper Networks fournit des images Docker, qui sont automatiquement créées pour chaque nouvelle version des modules Juniper Networks. L’image Docker comprend Python 3, Ansible, Junos PyEZ, la juniper.device collection et Junos Snapshot Administrator en Python, ainsi que toutes les dépendances requises. Vous pouvez exécuter le conteneur en mode interactif ou l’utiliser comme exécutable pour exécuter vos playbooks.
Pour utiliser l’image Docker d’Ansible pour Junos OS sur votre nœud de contrôle Ansible :