0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Переменные в Ansible можно устанавливать не только в плэйбуках и пользовательских файлах, но в inventory-файлах. Для того, чтобы установить переменную для конкретного хоста, достаточно после его имени написать название переменной и ее значение:</p>
1
<p>Переменные в Ansible можно устанавливать не только в плэйбуках и пользовательских файлах, но в inventory-файлах. Для того, чтобы установить переменную для конкретного хоста, достаточно после его имени написать название переменной и ее значение:</p>
2
<p>Если же эта переменная относится к группе хостов, то ее можно указать в отдельной секции, добавив к имени группы ключевое слово vars:</p>
2
<p>Если же эта переменная относится к группе хостов, то ее можно указать в отдельной секции, добавив к имени группы ключевое слово vars:</p>
3
<p>Если переменная относится ко всем хостам, то используется ключевое слово all:</p>
3
<p>Если переменная относится ко всем хостам, то используется ключевое слово all:</p>
4
<p>Это особенно полезно, если нужно поддерживать несколько сред развертывания с разной конфигурацией. Таким способом можно указывать разные хосты, пароли и другие конфигурационные параметры.</p>
4
<p>Это особенно полезно, если нужно поддерживать несколько сред развертывания с разной конфигурацией. Таким способом можно указывать разные хосты, пароли и другие конфигурационные параметры.</p>
5
<p>Полный список всех серверов, групп и переменных можно посмотреть с помощью команды ansible-inventory с флагами --list или --graph:</p>
5
<p>Полный список всех серверов, групп и переменных можно посмотреть с помощью команды ansible-inventory с флагами --list или --graph:</p>
6
<p>Если параметров становится слишком много, и они не зависят от среды, то их можно вынести из inventory-файла. Для этого создается директория group_vars с файлами, соответствующими названиям групп. Эти файлы не имеют расширения, но по факту являются yml-файлами. Поэтому в отличие от ini-файла пары параметр=значение записываются в них через двоеточие, например, root_dir: /var/tmp.</p>
6
<p>Если параметров становится слишком много, и они не зависят от среды, то их можно вынести из inventory-файла. Для этого создается директория group_vars с файлами, соответствующими названиям групп. Эти файлы не имеют расширения, но по факту являются yml-файлами. Поэтому в отличие от ini-файла пары параметр=значение записываются в них через двоеточие, например, root_dir: /var/tmp.</p>
7
<p>Так же можно поступать с переменными, которые принадлежат конкретному хосту. Только директория с файлами, соответствующими названиям хостов, будет именоваться host_vars.</p>
7
<p>Так же можно поступать с переменными, которые принадлежат конкретному хосту. Только директория с файлами, соответствующими названиям хостов, будет именоваться host_vars.</p>