Назад | Перейти на главную страницу

Как определить разные вары для разных хостов в Ansible playbook?

Можно ли определить разные переменные для разных хостов? лайк:

- hosts:
    server_a:
      var_a: "xxx"
    server_b:
      var_a: "yyy"
  roles:
    - some_role

Переменные хоста (и группы) не хранятся в playbook. Они хранятся отдельно, в самом файле инвентаризации или в файлах в каталоге. host_vars или group_vars относительно инвентарного файла. Эти файлы названы в честь хоста или группы, для которой они содержат переменные.

Видеть Организация переменных хоста и группы в документации Ansible для более полного описания файлов переменных.

Лучшее, что я узнал:

- hosts:
    - server_a (or a group of hosts)
    - server_b
  roles:
    - some_role
  vars:
    var_a: |
      {{
        {
          'server_a_ip': [
            'xxx'
          ],
          'server_b_ip': [
            'yyy'
          ]
        }[inventory_hostname]
      }}