Ansible est un outil open source de gestion et de déploiement automatisés de configuration qui aide les administrateurs à automatiser les tâches sur plusieurs serveurs.
Dans Ansible, un Playbook est un fichier YAML utilisé pour décrire les tâches d'automatisation.
L'utilisation de variables est une partie importante de la fonctionnalité Playbook, qui peut rendre votre Playbook plus flexible, réutilisable et facile à entretenir.
Les variables peuvent être définies dans un Playbook, un fichier d'inventaire, un fichier vars ou sur la ligne de commande à l'aide du paramètre -e
.
Exemple :
Définir les variables dans Playbook :
--- - name: Set up web server hosts: webservers vars: http_port: 80 max_clients: 200
Définir les variables dans le fichier d'inventaire :
[webservers] web1.example.com http_port=80 max_clients=200 web2.example.com http_port=8080 max_clients=100
Les variables peuvent être utilisées dans des tâches, des modèles, des instructions conditionnelles, etc.
Exemple :
- name: Ensure Apache is running ansible.builtin.service: name: httpd state: started enabled: yes when: http_port == 80
Après l'exécution d'une tâche, le résultat peut être enregistré dans une variable via le mot-clé register
.
Exemple :
- name: Check if package is installed ansible.builtin.package_facts: register: package_info - name: Display package information ansible.builtin.debug: var: package_info
Ansible fournit des variables spéciales intégrées, telles que inventory_hostname
、ansible_facts
etc.
Exemple :
- name: Display the current host's name ansible.builtin.debug: var: inventory_hostname
Dans Ansible, la priorité des variables de bas en haut est : la valeur par défaut, les variables définies dans le fichier d'inventaire, les variables dans le Playbook et les paramètres de ligne de commande. Les valeurs variables avec une priorité plus élevée remplacent les valeurs variables avec une priorité inférieure.
Après avoir compris les concepts de base et l'utilisation des variables Ansible Playbook, vous pouvez utiliser les variables de manière flexible en fonction des besoins réels pour optimiser vos tâches d'automatisation.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!