Sobes.tech
Junior

Numiți modalitățile de atribuire a variabilelor în Ansible.

sobes.tech AI

Răspuns de la AI

Variabilele în Ansible pot fi definite în mai multe moduri:

  • Fișiere de inventar: în fișierele hosts sau în fișiere separate în directoarele group_vars și host_vars.
  • Linia de comandă: folosind opțiunea --extra-vars sau -e.
  • Playbook-uri: în secțiunile vars, vars_files, include_vars.
  • Roluri: în directoarele vars sau prin parametri la apelarea rolului.
  • Fișiere de configurare Ansible: în ansible.cfg, dar nu se recomandă pentru valori specifice.
  • Inventar dinamic: prin scripturi care generează inventar și variabile în timpul execuției.
  • Vaults: pentru stocarea datelor secrete.

Prioritatea atribuirii variabilelor în Ansible de la cea mai mică la cea mai mare:

  1. ansible.cfg
  2. Fișierele de inventar (host_vars, group_vars)
  3. Roluri (din default, apoi din vars)
  4. Secțiunea vars din playbook
  5. Variabilele transmise prin linia de comandă

Exemplu de atribuire a unei variabile în inventar:

# inventory.ini
[webservers]
web1 ansible_host=192.168.1.100

[webservers:vars]
http_port=80

Exemplu de atribuire a unei variabile în playbook:

# playbook.yml
---
- name: Configurare server web
  hosts: webservers
  vars:
    greeting: "Hello, World!"
  tasks:
    - name: Afișează salutul
      debug:
        msg: "{{ greeting }}"

Exemplu de atribuire a unei variabile prin linia de comandă:

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