Télécharger des fichiers de manière sécurisée et automatisée peut être complexe.
La gestion manuelle des téléchargements augmente les risques d’erreurs et compromet la sécurité.
Le module ansible.builtin.get_url d’Ansible offre des solutions robustes pour un téléchargement automatisé et sécurisé.
Devenez un expert d'Ansible et simplifiez vos tâches d'administration.
Module ansible.builtin.get_url expliqué
Le module ansible.builtin.get_url d’Ansible est utilisé pour télécharger des fichiers depuis des sources HTTP, HTTPS ou FTP vers le nœud cible.
Fonctionnalités du module ansible.builtin.get_url :
- Téléchargement de fichiers :Permet de récupérer des fichiers depuis des URL HTTP, HTTPS ou FTP et de les enregistrer sur le nœud cible.
- Vérification d’intégrité :Supporte la vérification de l’intégrité des fichiers téléchargés en utilisant des sommes de contrôle (SHA256, SHA512, etc.).
- Gestion des certificats SSL :Permet de spécifier des certificats et des clés SSL pour sécuriser les téléchargements.
- Authentification :Supporte l’authentification de base en fournissant un nom d’utilisateur et un mot de passe.
- Téléchargement conditionnel :Peut éviter de télécharger à nouveau des fichiers s’ils existent déjà et n’ont pas changé.
Voici un exemple de playbook avec module get_url
---
- hosts: test
remote_user: root
tasks:
- name: téléchargement
ansible.builtin.get_url:
url: http://www.example.com/test.tar.gz
dest: /tmp/test.tar.gz
owner: root
group: root
mode: '0644'
Ce playbook Ansible effectue les opérations suivantes :
- Se connecte aux hôtes spécifiés dans le groupe test en utilisant l’utilisateur root.
- Télécharge le fichier test.tar.gz depuis l’URL http ://www.example.com/test.tar.gz.
- Enregistre le fichier téléchargé dans le répertoire /tmp sous le nom test.tar.gz sur le nœud cible.
- Définit le propriétaire et le groupe du fichier comme root.
- Définit les permissions du fichier à 0644.
Passons maintenant en pratique pour bien comprendre le fonctionnement de ce module.
Executons le playbook dans le nœud de contrôle :
---
- hosts: test
remote_user: root
tasks:
- name: téléchargement
ansible.builtin.get_url:
url: https://www.temporary-url.com/69CF
dest: /tmp/test-get-url
owner: root
group: root
mode: 0644
become: yes
Ce playbook Ansible effectue les opérations suivantes :
- Se connecte aux hôtes spécifiés dans le groupe test en utilisant l’utilisateur root.
- Télécharge le fichier depuis l’URLhttps ://www.temporary-url.com/69CF.
- Enregistre le fichier téléchargé dans le répertoire /tmp sous le nom test-get-url sur le nœud cible.
- Définit le propriétaire et le groupe du fichier comme root.
- Définit les permissions du fichier à 0644.
- Utilise le paramètre become :yes pour exécuter la tâche avec des privilèges élevés, assurant que les opérations nécessitant des privilèges root sont effectuées correctement.
L’URL https://www.temporary-url.com/69CF a été générée sur le site https://www.temporary-url.com . Ainsi, nous pouvons en générer une nouvelle si nécessaire.
À présent, copions ce playbook dans un fichier nommé url-playbook.yml et procédons à son exécution par la suite.
Exécutons maintenant le playbook avec la commande : ansible-playbook.yml url_playbook.yml
Le playbook a été exécuté avec succès et toutes les tâches ont été correctement exécutées et nous pouvons vérifier si le fichier est téléchargé dans le nœud géré.
Voilà, le fichier test-get-url est bien téléchargé. Nous avons terminé ce chapitre avec succès
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.
FAQ
Comment télécharger des fichiers avec Ansible ?
Comment assurer la sécurité lors du téléchargement de fichiers avec Ansible ?
Comment gérer l'authentification avec le module get_url d'Ansible ?
Comment éviter de télécharger plusieurs fois le même fichier avec Ansible ?
Comment exécuter un playbook Ansible avec le module get_url ?
Conclusion
En maîtrisant le module ansible.builtin.get_url, vous optimisez vos processus de téléchargement de fichiers. Quelle autre fonctionnalité d’Ansible souhaitez-vous explorer davantage ?