Sobes.tech
Junior

Посочете начините за задаване на променливи в Ansible.

sobes.tech AI

Отговор от AI

Променливите в Ansible могат да бъдат задавани по няколко начина:

  • Файлове с инвентар: в hosts файлове или в отделни файлове в директориите group_vars и host_vars.
  • Команден ред: чрез флага --extra-vars или -e.
  • Playbook-и: в секциите vars, vars_files, include_vars.
  • Роли: в директориите vars или чрез параметри при извикване на ролята.
  • Конфигурационни файлове на Ansible: в ansible.cfg, но не се препоръчва за специфични стойности.
  • Динамичен инвентар: чрез скриптове, които генерират инвентар и променливи на летящо.
  • Vaults: за съхранение на секретни данни.

Приоритетът при задаване на променливи в Ansible от нисък към висок е:

  1. ansible.cfg
  2. Файлове с инвентар (host_vars, group_vars)
  3. Роли (от default, след това от vars)
  4. Секция vars в playbook-а
  5. Променливи, предадени чрез командния ред

Пример за задаване на променлива в инвентар:

# inventory.ini
[webservers]
web1 ansible_host=192.168.1.100

[webservers:vars]
http_port=80

Пример за задаване на променлива в playbook:

# playbook.yml
---
- name: Конфигуриране на уеб сървър
  hosts: webservers
  vars:
    greeting: "Hello, World!"
  tasks:
    - name: Отпечатване на поздрав
      debug:
        msg: "{{ greeting }}"

Пример за задаване на променлива чрез команден ред:

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