Назад к вопросам
Junior
96
questionbank
Назовите способы задания переменных в Ansible.
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Переменные в Ansible можно задавать несколькими способами:
- Инвентарные файлы: в файлах
hostsили отдельных файлах в директорииgroup_varsиhost_vars. - Командная строка: с помощью флага
--extra-varsили-e. - Плейбуки: в секциях
vars,vars_files,include_vars. - Роли: в директориях
varsили через параметры при вызове роли. - Файлы конфигурации Ansible: в
ansible.cfg, но не рекомендуется для специфичных значений. - Dynamic Inventory: через скрипты, которые генерируют инвентарь и переменные на лету.
- ** vaults:** для хранения секретных данных.
Приоритет присвоения переменных в Ansible от низкого к высокому:
ansible.cfg- Файлы инвентаря (
host_vars,group_vars) - Роли (из default, затем из vars)
- Секция
varsв плейбуке - Переменные, переданные через командную строку
Пример задания переменной в инвентаре:
# inventory.ini
[webservers]
web1 ansible_host=192.168.1.100
[webservers:vars]
http_port=80
Пример задания переменной в плейбуке:
# playbook.yml
---
- name: Configure webserver
hosts: webservers
vars:
greeting: "Hello, World!"
tasks:
- name: Print greeting
debug:
msg: "{{ greeting }}"
Пример задания переменной через командную строку:
ansible-playbook playbook.yml -e "user=admin"