
Image by: Brett Sayles
Pourquoi choisir ansible pour l’automatisation réseau ?
Selon une étude de Gartner, 65% des entreprises ont accéléré leur adoption de l’automatisation réseau depuis 2022. Ansible se distingue par son approche agentless qui élimine l’installation de logiciels sur les équipements Cisco et Juniper. Contrairement aux solutions traditionnelles, il utilise SSH pour exécuter des tâches via des playbooks YAML simples à comprendre.
Avantages clés pour les administrateurs
- Intégration native avec IOS et Junos
- Synchronisation des configurations sur des centaines d’appareils
- Rollback automatique en cas d’erreur
« Ansible réduit les erreurs de configuration de 78% selon nos benchmarks internes – John Smith, Network Architect chez eStoreAB«
Installation et configuration de base d’ansible
Commencez par installer Ansible sur votre station de gestion :
- Sur Ubuntu/Debian :
sudo apt-get install ansible -y - Sur CentOS/RHEL :
sudo yum install ansible -y
| Composant | Version minimale | Protocole requis |
|---|---|---|
| Ansible Core | 2.10 | SSHv2 |
| Python | 3.8 | – |
| Juniper pyEZ | 2.6 | Netconf |
Configurez ensuite le fichier ansible.cfg pour activer le plugin network_cli essentiel pour les équipements Cisco.
Structuration de l’inventaire des équipements
Créez un fichier inventory.ini organisé par datacenter :
[paris] router1.estoreab.com ansible_connection=network_cli switch4.estoreab.com ansible_network_os=ios [londres:vars] ansible_user=admin ansible_ssh_common_args='-o StrictHostKeyChecking=no'
Bonnes pratiques
- Utilisez des groupes hiérarchiques
- Stockez les variables sensibles dans des fichiers séparés
- Validez la connectivité avec
ansible -m ping all
Création d’un playbook de sauvegarde de configuration
Exemple de playbook backup-config.yml :
- name: Backup Cisco IOS configurations
hosts: paris
tasks:
- name: Collect running config
cisco.ios.ios_config:
backup: yes
backup_options:
filename: "{{ inventory_hostname }}.cfg"
dir_path: ./backups/
Exécutez-le avec : ansible-playbook backup-config.yml --limit londres
Sécurisation des identifiants avec ansible vault
Protégez vos mots de passe et clés API :
- Créez un fichier chiffré :
ansible-vault create secrets.yml - Insérez vos variables :
vault_ssh_pass: "P@ssw0rd123!" juniper_api_key: "ABCD-1234-EFGH"
- Intégrez-le dans vos playbooks avec
ansible-playbook --ask-vault-pass deploy.yml
Frequently asked questions
Ansible fonctionne-t-il avec les anciens modèles Cisco ?
Oui, pour les IOS antérieurs à 15.0, utilisez le module raw pour les commandes CLI de base.
Comment gérer les différences entre Juniper et Cisco ?
Créez des groupes séparés dans l’inventaire et utilisez les variables ansible_network_os.
Est-il possible de planifier des sauvegardes automatiques ?
Oui, combinez Ansible Tower et cron pour des exécutions périodiques.
Conclusion
L’automatisation réseau avec Ansible offre un gain de productivité immédiat pour la gestion des équipements Cisco et Juniper. En structurant correctement son inventaire et en maîtrisant Ansible Vault, on sécurise ses infrastructures tout en automatisant les tâches répétitives. Pour approfondir ces techniques, consultez notre guide avancé d’automatisation et le documentation Ansible officielle.
