Blog Alphorm Logo de blog informatique spécialisé en technologie et solutions IT
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Utilisation efficace des commandes ad-hoc Ansible
Agrandisseur de policeAa
Blog AlphormBlog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Search
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Suivez-nous
© Alphorm 2024 - Tous droits réservés
DevOps

Utilisation efficace des commandes ad-hoc Ansible

L'Équipe Alphorm Par L'Équipe Alphorm 16 novembre 2024
Partager
Partager

Vous avez besoin d’exécuter des tâches système rapides sans la complexité des fichiers de configuration.

La création de playbooks complexes est souvent inutile pour des actions simples, entraînant une perte de temps et d’efficacité.

Les commandes ad-hoc d’Ansible offrent une méthode directe et efficace pour accomplir ces tâches immédiatement, vous permettant de vous concentrer sur l’essentiel.

Table de matière
Qu'est-ce qu'une commande ad-hoc Ansible ?Propriétés des commandes ad-hoc AnsibleUtilisations des commandes ad-hoc d'AnsiblePratiquer les commandes ad-hoc AnsibleIntroduction aux commandes ad-hoc AnsibleGestion des fichiers avec AnsibleGestion des paquets via AnsibleFAQConclusion

Formation Ansible : Le Guide Complet du Débutant

Devenez un expert d'Ansible et simplifiez vos tâches d'administration.

Découvrir cette formation

Qu'est-ce qu'une commande ad-hoc Ansible ?

Les commandes ad-hoc sont des instructions uniques utilisées dans Ansible pour exécuter des tâches spécifiques directement depuis la ligne de commande, sans avoir besoin de créer un fichier de playbook. Ces commandes sont très utiles pour les actions rapides et les tâches simples qui ne nécessitent pas une répétition fréquente.

Propriétés des commandes ad-hoc Ansible

  • Simplicité :Les commandes ad-hoc sont faciles à utiliser et ne nécessitent pas de fichier de configuration complexe.
  • Flexibilité :Elles permettent d’exécuter rapidement des tâches sur un ou plusieurs hôtes.
  • Non persistantes :Contrairement aux playbooks, elles ne sont pas stockées pour une utilisation future, sauf si elles sont enregistrées manuellement.
  • Immédiates :Elles sont idéales pour les tâches qui doivent être exécutées immédiatement, comme redémarrer un service ou copier un fichier.

Utilisations des commandes ad-hoc d'Ansible

L’utilisation des commandes ad-hoc se concentre principalement sur trois aspects :

Commandes ad-hoc Ansible: redémarrer, copier, gérer

Voici des exemples des commandes ad-hoc les plus utilisées au quotidien par un développeur :

  • Gestion des Paquets :Installation :ansible all -m apt -a « name=curl state=present » -bet cela nous donne le résultat comme ceci.
Capture d'écran d'une commande Ansible réussie
  • Gestion des Services :Arrêt d’un service:ansible all -m service -a « name=nginx state=stopped » -b
Commande ad-hoc Ansible pour gérer nginx
  • Gestion des Fichiers :Copier un fichier : ansibleall -m copy -a « src=/local/path dest=/remote/path » -b
Sortie terminal avec commande ad-hoc Ansible
  • Exécution de Commandes :Commande simple :ansible all -m command -a « uptime »
Commande Ansible ad-hoc pour vérifier uptime

Cette commande Ansible exécute la commande uptime sur tous les hôtes définis dans votre inventaire. La commande uptime affiche depuis combien de temps le système fonctionne.

Pratiquer les commandes ad-hoc Ansible

Introduction aux commandes ad-hoc Ansible

Dans cette section, nous allons explorer le redémarrage des serveurs en utilisant une commande ad-hoc. Pour cela, nous devons suivre les étapes suivantes :

  • Ajouter le groupe à l’inventaire.
  • Assurer que l’identification SSH est active.

Nous avons déjà couvert ces deux premières étapes dans le chapitre précédent. Maintenant, nous allons nous concentrer sur la dernière étape : lancer la commande de redémarrage. Voici des exemples de commandes pour effectuer le redémarrage :

Redémarrer tous les serveurs du groupe : ansible atlanta -a « /sbin/reboot »

Redémarrer les serveurs avec 10 fourches parallèles :

ansible atlanta -a « /sbin/reboot » -f 10 /usr/bin/ansible

Se connecter sous un autre utilisateur : ansible atlanta -a « /sbin/reboot » -f 10 -u username

Essayons maintenant de redemarrer tous les hôtes (les nœuds gérés) dans notre inventaire avec la commande ad-hoc. Pour faire cela, exécutons la commande suivante dans le terminal du nœud de contrôle : ansible servers -a « /sbin/reboot » –become. Cette commande redémarrera les nœuds dans le groupe de serveurs.

Cela nous donne le résultat comme ceci :

Erreur Ansible SSH: connexion réinitialisée

Voilà, le résultat indique clairement que la machine ayant l’adresse IP 52.47.145.67 est hors ligne (nous pouvons le constater sur le terminal de cette machine, puisque le terminal retourne à celui de notre machine de travail et nous pouvons la redémarrer par la suite) ce qui signifie que nous avons atteint notre objectif

Nous allons approfondir encore la compréhension de la commande ah-hoc. Dans cette seconde partie, nous allons explorer les autres cas d’utilisation de la commande ad-hoc.

Gestion des fichiers avec Ansible

Premièrement, nous allons voir le cas d’utilisation gestion des fichiers. Nous allons essayer de transférer un fichier dans tous les nœuds gérés à patir du nœud de contrôle.

Pour transférer un fichier directement vers tous les serveurs du groupe, nous allons exécuter la commande :

ansible servers -m ansible.builtin.copy -a « src=/etc/hosts dest=/tmp/hosts »

ansible : C’est la commande principale d’Ansible utilisée pour exécuter des actions sur des hôtes distants.

servers : C’est le groupe d’hôtes sur lequel l’action va être exécutée. Ce groupe doit être défini dans votre inventaire Ansible.

– m ansible.builtin.copy : Cela spécifie le module à utiliser avec Ansible pour cette opération. Dans ce cas, ansible.builtin.copy est utilisé pour copier des fichiers.

-a « src=/etc/hosts dest=/tmp/hosts »: C’est l’argument ad-hoc (-a pour « argument ») qui indique quelle action doit être réalisée. Ici, src=/etc/hosts spécifie le chemin du fichier source sur le nœud de contrôle (ici, /etc/hosts), et dest=/tmp/hosts spécifie le chemin de destination sur les hôtes cibles (ici, /tmp/hosts).

En exécutant cette commande, nous avons un résultat comme ceci :

Exécution commande Ansible copy avec serveur

Très bien, la commande était bien exécutée, nous pouvons vérifier le contenu fichiers hosts dans le dossier tmp du nœud géré et le fichiers hosts dans le dossier etc du nœud de contrôle .

Dans le nœud géré, voilà son contenu :

Résultat commande Ansible fichier hosts

Et pour le nœud de contrôle, voici le contenu du fichier hosts :

Contenu du fichier hosts avec IPv6

Nous pouvons observer que le contenu du fichier est identique, ce qui confirme que la copie s’est déroulée avec succès. Il est à noter que le dossier tmp sur le nœud géré ne contenait pas de fichier hosts avant l’exécution de la commande.

La commande ad-hoc nous permet de changer la propriété et les permissions sur les fichiers. Voyons maintenant un exemple en créant un fichier dans le nœud de contrôle avec la commande : nano testFile

Terminal avec nano et ls pour Ansible

Nous allons vérifier les propriétés par défaut du fichier testFile avec la commande stat -c « %a %n » testFile

Commande stat affichant permissions fichier

Super, le fichier testFile est en mode 664 par défaut, donc grâce au command ad-hoc, nous pouvons le modifier à partir du nœud de contrôle avec la commande ansible servers -m ansible.builtin.file -a  » path=/tmp/testFile mode = 600 state = touch » en changeant le mode par 600.

Commande ad-hoc Ansible créant un fichier

Voilà, ce visuel nous affiche bien que le command soit bien exécuté et vérifions maintenant le mode du fichier dans le nœud géré en y lancant la même commande :

Commande Ansible stat pour testFile

Gestion des paquets via Ansible

L’un des aspects puissants d’Ansible est sa capacité à gérer les paquets logiciels sur plusieurs serveurs de manière efficace et automatisée. Cela peut être réalisé à l’aide de commandes ad-hoc ou de playbooks plus complexes. Dans cette section, nous explorerons comment utiliser Ansible pour installer, mettre à jour ou supprimer des paquets sur les nœuds gérés en utilisant le module ansible.builtin.yum adapté aux systèmes basés sur RPM qui est linux dans notre cas.

Pour cette partie, nous allons essayer d’installer le paquet acme dans le nœud géré à partir du nœud de contrôle.

Pour faire cela, assurons maintenant que le paquet n’est pas encore installé maintenant en lancant la commande acme –version dans notre nœud géré :

Erreur de commande non trouvée dans le terminal

Voilà, le paquet n’est pas encore dans le nœud géré. Donc, pour l’installer lançons la commande suivante : ansible servers -b -m ansible.builtin.apt -a « name=acme state=present » –become

ansible servers: Indique à Ansible d’exécuter une action sur le groupe d’hôtes servers défini dans l’inventaire.

– b (ou –become): Cette option indique à Ansible de devenir super utilisateur (root) lors de l’exécution de la commande. Cela est nécessaire pour effectuer des opérations qui nécessitent des privilèges administratifs, comme l’installation de paquets logiciels.

– m ansible.builtin.apt : Utilise le module Ansible intégré apt pour gérer les paquets sur des systèmes basés sur Debian (comme Ubuntu). Ce module permet de gérer les paquets via les outils apt-get ou apt.

– a « name=acme state=present » : Spécifie les arguments ad-hoc (-a pour « argument ») pour le module apt. Dans cet exemple :

name=acme : Indique le nom du paquet à installer (acme dans ce cas).

state=present : Indique que le paquet doit être présent sur le système. Si le paquet n’est pas déjà installé, Ansible le téléchargera et l’installera.

Cette commande nous donne le résultat comme ceci.

Exécution de commande ad-hoc Ansible avec succès

Bien, l’installation est bien terminée avec succès, nous pouvons encore le vérifier dans le nœud de contrôle en lançant la commande : acme –version

Commande ACME version dans le terminal

Parfait, le paquet est bien installé avec la version 0.97.

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.

Démarrer gratuitement
illustration processus de paiement en ligne avec étapes claires et convivialité

FAQ

Qu'est-ce qu'une commande ad-hoc dans Ansible?
Une commande ad-hoc dans Ansible est une instruction unique utilisée pour exécuter des tâches spécifiques directement depuis la ligne de commande sans créer de fichier playbook. Elle est idéale pour des actions rapides comme redémarrer un service ou copier un fichier. Cette méthode est simple, flexible et non persistante, permettant une exécution immédiate des tâches sans besoin de stockage pour une utilisation future.
Comment utiliser les commandes ad-hoc pour la gestion des paquets?
Pour gérer les paquets avec des commandes ad-hoc Ansible, vous pouvez utiliser le module apt (pour les systèmes basés sur Debian) ou yum (pour les systèmes basés sur RPM). Par exemple, pour installer un paquet comme acme, la commande serait : ansible servers -b -m ansible.builtin.apt -a « name=acme state=present ». Cela installe le paquet sur les nœuds cibles spécifiés dans l’inventaire, avec l’option –become pour exécuter en tant que super utilisateur.
Comment exécuter une commande simple avec Ansible?
Pour exécuter une commande simple à l’aide d’Ansible, utilisez le module command. Par exemple, pour vérifier le temps de fonctionnement des systèmes, la commande serait : ansible all -m command -a « uptime ». Cette commande exécute ‘uptime’ sur tous les hôtes définis dans votre inventaire, fournissant des informations sur la durée de fonctionnement de chaque système.
Comment copier un fichier avec une commande ad-hoc?
Pour copier un fichier avec une commande ad-hoc Ansible, utilisez le module copy. Par exemple, pour transférer un fichier depuis le nœud de contrôle vers tous les serveurs, la commande est : ansible servers -m ansible.builtin.copy -a « src=/etc/hosts dest=/tmp/hosts ». Cela copie le fichier /etc/hosts vers /tmp/hosts sur chaque serveur spécifié dans votre inventaire.
Comment redémarrer des serveurs avec Ansible?
Pour redémarrer des serveurs avec Ansible, utilisez une commande ad-hoc en spécifiant le groupe d’hôtes et la commande de redémarrage. Par exemple, ansible atlanta -a « /sbin/reboot » redémarre tous les serveurs du groupe ‘atlanta’. Cette commande peut être étendue avec des options comme -f 10 pour utiliser 10 fourches parallèles ou -u username pour se connecter sous un autre utilisateur.

Conclusion

Les commandes ad-hoc d’Ansible offrent une flexibilité incroyable pour gérer efficacement vos systèmes sans complexité supplémentaire. Quelle tâche souhaiteriez-vous automatiser avec Ansible pour améliorer votre flux de travail?

ÉTIQUETÉ : Ansible
Facebook
Twitter
LinkedIn
Email
WhatsApp
Par L'Équipe Alphorm
Démocratiser la Connaissance Informatique pour Tous !
Suivre :
L'Équipe Alphorm, c'est la démocratisation de la connaissance informatique. Passionnés et dévoués, nous sommes là pour vous guider vers le succès en rendant la technologie accessible à tous. Rejoignez notre aventure d'apprentissage et de partage. Avec nous, le savoir IT devient une ressource inspirante et ouverte à tous dans un monde numérique en constante évolution.

Derniers Articles

  • Techniques pour gérer les fichiers texte en C#
  • Créer et lire un fichier CSV avec C#
  • JSON : Comprendre et Utiliser Efficacement
  • Créer une Base SQLite dans C#
  • Lecture des données SQLite simplifiée
Laisser un commentaire Laisser un commentaire

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

Blog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Utilisation efficace des commandes ad-hoc Ansible

© Alphorm - Tous droits réservés