IT заметки по программированию
IT заметки по программированию
IT заметки по программированию
IT заметки по программированию

Как задать общие переменные для нескольких Ansible плейбуков?

В Ansible можно задавать общие переменные для нескольких плейбуков с помощью следующих подходов:

  1. Использование файла переменных в каталоге group_vars или host_vars.
  2. Определение переменных в инвентарном файле.
  3. Создание общего файла переменных и подключение его с помощью vars_files.
  4. Определение переменных в роли.

Давайте рассмотрим каждый способ подробнее:

1. Использование group_vars и host_vars

Ansible автоматически ищет переменные в каталогах group_vars и host_vars, которые находятся в том же каталоге, где и ваш инвентарный файл.

  • group_vars/all.yml — переменные, общие для всех хостов и плейбуков.
  • group_vars/group_name.yml — переменные для конкретной группы хостов.

Пример group_vars/all.yml:

2. Определение переменных в инвентарном файле

Вы можете определить переменные прямо в инвентарном файле в разделе [all:vars], [group_name:vars] или для конкретного хоста.

Пример инвентарного файла:

3. Создание общего файла переменных и подключение с помощью vars_files

Вы можете создать отдельный файл с переменными и подключать его в каждом плейбуке.

Пример файла переменных common_vars.yml:

Подключение в плейбуке:

4. Определение переменных в роли

Если у вас есть общие переменные для нескольких плейбуков, которые используют одну или несколько ролей, вы можете определить переменные в роли.

  • Поместите их в файл defaults/main.yml или vars/main.yml внутри директории роли.

Пример defaults/main.yml в роли:

Преимущества подходов:

  • group_vars и host_vars: Автоматически подгружаются для всех плейбуков, поддерживают структуру по группам и хостам.
  • Инвентарный файл: Быстро и удобно для простых конфигураций.
  • vars_files: Гибкость и возможность разделения переменных по функциональности.
  • Роли: Легко использовать и управлять общими переменными в рамках роли.

Выбор подхода зависит от вашей инфраструктуры и требований к организации кода.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *