Sobes.tech
Junior

Indica i metodi di assegnazione delle variabili in Ansible.

sobes.tech AI

Risposta dell'AI

Le variabili in Ansible possono essere definite in diversi modi:

  • File di inventario: nei file hosts o in file separati nelle directory group_vars e host_vars.
  • Linea di comando: usando il flag --extra-vars o -e.
  • Playbook: nelle sezioni vars, vars_files, include_vars.
  • Ruoli: nelle directory vars o tramite parametri durante la chiamata al ruolo.
  • File di configurazione di Ansible: in ansible.cfg, ma non raccomandato per valori specifici.
  • Inventario dinamico: tramite script che generano inventario e variabili al volo.
  • Vaults: per memorizzare dati segreti.

Priorità di assegnazione delle variabili in Ansible dal più basso al più alto:

  1. ansible.cfg
  2. File di inventario (host_vars, group_vars)
  3. Ruoli (da default, poi da vars)
  4. Sezione vars nel playbook
  5. Variabili passate tramite linea di comando

Esempio di assegnazione di variabile nell'inventario:

# inventory.ini
[webservers]
web1 ansible_host=192.168.1.100

[webservers:vars]
http_port=80

Esempio di assegnazione di variabile nel playbook:

# playbook.yml
---
- name: Configurare il server web
  hosts: webservers
  vars:
    greeting: "Hello, World!"
  tasks:
    - name: Stampare il saluto
      debug:
        msg: "{{ greeting }}"

Esempio di assegnazione di variabile tramite linea di comando:

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