Sobes.tech
Junior

Nommez les méthodes d'attribution des variables dans Ansible.

sobes.tech IA

Réponse de l'IA

Les variables dans Ansible peuvent être définies de plusieurs façons:

  • Fichiers d'inventaire : dans les fichiers hosts ou dans des fichiers séparés dans les répertoires group_vars et host_vars.
  • Ligne de commande : en utilisant l'option --extra-vars ou -e.
  • Playbooks : dans les sections vars, vars_files, include_vars.
  • Rôles : dans les répertoires vars ou via des paramètres lors de l'appel du rôle.
  • Fichiers de configuration d'Ansible : dans ansible.cfg, mais il n'est pas recommandé pour des valeurs spécifiques.
  • Inventaire dynamique : via des scripts qui génèrent l'inventaire et les variables à la volée.
  • Vaults : pour stocker des données secrètes.

Priorité d'attribution des variables dans Ansible du plus bas au plus élevé :

  1. ansible.cfg
  2. Fichiers d'inventaire (host_vars, group_vars)
  3. Rôles (de default, puis de vars)
  4. Section vars dans le playbook
  5. Variables passées via la ligne de commande

Exemple d'attribution d'une variable dans l'inventaire :

# inventory.ini
[webservers]
web1 ansible_host=192.168.1.100

[webservers:vars]
http_port=80

Exemple d'attribution d'une variable dans le playbook :

# playbook.yml
---
- name: Configurer le serveur web
  hosts: webservers
  vars:
    greeting: "Hello, World!"
  tasks:
    - name: Afficher le message de bienvenue
      debug:
        msg: "{{ greeting }}"

Exemple d'attribution d'une variable via la ligne de commande :

ansible-playbook playbook.yml -e "user=admin"