2016-12-12 6 views
16

В лучшей странице практики, есть пример, который использует hosts.yml для хостов файлов:Можно ли писать файлы Ansible hosts/inventory в YAML?

YAML-based hosts file

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

Что такое синтаксис файлов инвентаря в YAML?

+1

... хотя я по-прежнему считаю, что ссылка на скриншоте является пережитком прошлого. Интересный вопрос, я не знал о том, чтобы вернуть эту функцию. – techraf

+0

Ansible 2.4 (выпущен в сентябре 2017 года) вновь представил поддержку для этого! –

ответ

24

Да.

Это было в версии 0.6 deprecated в 2012 году и reintroduced в коммит первой включены в версии 2.1 в 2016 году

example file на GitHub содержит рекомендации и примеры:

  • Комментарии начинаются с символ '#'
  • Пустые строки игнорируются
  • Элементы верхнего уровня считаются группами
  • хосты должны быть указаны в хостах группы, и они должны быть ключ (: прекращено)
  • групп могут иметь ребенок, хосты и VARS ключи
  • Все, что определенно под хостами предполагаются быть варом
  • Вы можете ввести имя хоста или IP-адреса
  • Имя хоста/IP может быть членом нескольких групп

Ex 1: Разгруппировка хозяева, поставленные в «разгруппирована» группы

ungrouped: 
    hosts: 
     green.example.com: 
      ansible_ssh_host: 191.168.100.32 
     blue.example.com: 
     192.168.100.1: 
     192.168.100.10: 

Ex 2: Коллекция хостов, принадлежащих к группе по «WebServers»

webservers: 
    hosts: 
     alpha.example.org: 
     beta.example.org: 
     192.168.1.100: 
     192.168.1.110: 

Ex 3: Вы можете создать хосты, используя диапазоны и добавить детей группы и вары к группе. Ребенок группа может определить, что вы, как правило, добавить в группу

testing: 
    hosts: 
     www[001:006].example.com: 
    vars: 
     testing1: value1 
    children: 
     webservers: 
      hosts: 
       beta.example.org: 
+0

Кроме того, «Эти переменные файлы находятся в формате YAML. Допустимые расширения файлов включают« .yml »,« .yaml »,« .json »или без расширения файла». источник: http://docs.ansible.com/ansible/intro_inventory.html –

+1

@ElijahLynn Я не понимаю ваш комментарий. Вы цитируете часть, относящуюся к переменным хоста и группы. Это совсем другое дело. – techraf

+0

@techraf Вы знаете, как указать, какой формат должен ожидать Ansible? Как-то моя версия 2.2.1.0 пытается интерпретировать формат INI как yaml. – TonyH

Смежные вопросы