Ansible
Теория: Переменные в файле инвентаризации
Переменные в Ansible можно устанавливать не только в плэйбуках и пользовательских файлах, но в inventory-файлах. Для того, чтобы установить переменную для конкретного хоста, достаточно после его имени написать название переменной и ее значение:
Если же эта переменная относится к группе хостов, то ее можно указать в отдельной секции, добавив к имени группы ключевое слово vars:
Если переменная относится ко всем хостам, то используется ключевое слово all:
Это особенно полезно, если нужно поддерживать несколько сред развертывания с разной конфигурацией. Таким способом можно указывать разные хосты, пароли и другие конфигурационные параметры.
Полный список всех серверов, групп и переменных можно посмотреть с помощью команды ansible-inventory с флагами --list или --graph:
Если параметров становится слишком много, и они не зависят от среды, то их можно вынести из inventory-файла. Для этого создается директория group_vars с файлами, соответствующими названиям групп. Эти файлы не имеют расширения, но по факту являются yml-файлами. Поэтому в отличие от ini-файла пары параметр=значение записываются в них через двоеточие, например, root_dir: /var/tmp.
Так же можно поступать с переменными, которые принадлежат конкретному хосту. Только директория с файлами, соответствующими названиям хостов, будет именоваться host_vars.






