Exploiter local_action pour l'exécution de tâches
Le module local_action
dans Ansible offre une manière flexible d'exécuter des tâches sur le nœud de contrôle, vous permettant d'exploiter ses capacités pour une grande variété de cas d'utilisation. Dans cette section, nous allons explorer comment utiliser efficacement le module local_action
pour exécuter des tâches sur le nœud de contrôle.
Exécution de commandes locales
L'un des principaux cas d'utilisation du module local_action
est d'exécuter des commandes sur le nœud de contrôle. Cela peut être particulièrement utile lorsque vous devez effectuer des tâches au niveau système ou interagir avec des ressources locales qui ne sont pas accessibles depuis les hôtes distants.
- name: Execute a local command
local_action:
module: command
args:
cmd: ls -l /tmp
register: local_command_output
- debug:
var: local_command_output.stdout_lines
Dans cet exemple, le module local_action
est utilisé pour exécuter la commande ls -l /tmp
sur le nœud de contrôle, et la sortie est stockée dans la variable local_command_output
, qui est ensuite affichée à l'aide du module debug
.
Interaction avec des fichiers et des répertoires locaux
Le module local_action
peut également être utilisé pour interagir avec des fichiers et des répertoires sur le nœud de contrôle. Cela peut être utile pour des tâches telles que la création, la modification ou la suppression de fichiers, ainsi que la gestion des structures de répertoires.
- name: Create a local directory
local_action:
module: file
path: /tmp/local_directory
state: directory
- name: Create a local file
local_action:
module: file
path: /tmp/local_directory/local_file.txt
state: touch
Dans cet exemple, le module local_action
est utilisé pour créer un répertoire nommé local_directory
dans le répertoire /tmp
sur le nœud de contrôle, puis pour créer un fichier nommé local_file.txt
dans ce répertoire.
Appel d'APIs et de services locaux
Le module local_action
peut également être utilisé pour interagir avec des APIs et des services locaux, comme interroger une base de données locale ou appeler un service web qui n'est accessible que depuis le nœud de contrôle.
- name: Call a local API
local_action:
module: uri
url: http://localhost:8080/api/data
register: api_response
- debug:
var: api_response.json
Dans cet exemple, le module local_action
est utilisé pour appeler une API locale en cours d'exécution sur le nœud de contrôle, et la réponse est stockée dans la variable api_response
, qui est ensuite affichée à l'aide du module debug
.
En comprenant comment exploiter le module local_action
pour l'exécution de tâches, vous pouvez améliorer la flexibilité et la puissance de vos playbooks Ansible, vous permettant d'effectuer une grande variété de tâches sur le nœud de contrôle.