На странице лучших практик есть пример, который использует файлы hosts.yml
для хостов:
Однако в документах я могу найти синтаксис INI для записи файлов хостов.
Каков синтаксис файлов инвентаря в YAML?
На странице лучших практик есть пример, который использует файлы hosts.yml
для хостов:
Однако в документах я могу найти синтаксис INI для записи файлов хостов.
Каков синтаксис файлов инвентаря в YAML?
Да.
Он был устарел в версии 0.6 в 2012 году и повторно ввел в коммит, впервые включенный в версию 2.1 в 2016.
Пример файла на GitHub содержит рекомендации и примеры:
- Комментарии начинаются с символа '#'
- Пустые строки игнорируются
- Элементы верхнего уровня считаются группами
- Хосты должны быть указаны в узлах группы: они должны быть ключом (: завершено)
- группы могут иметь дочерние элементы, хосты и ключи vars
- Все, что определено под хостами, считается var
- Вы можете ввести имена хостов или IP-адреса.
- Имя хоста /ip может быть членом нескольких групп
Пример 1: Разгруппированные хосты, помещенные в группу 'ungrouped'
ungrouped: hosts: green.example.com: ansible_ssh_host: 191.168.100.32 blue.example.com: 192.168.100.1: 192.168.100.10:
Пример 2: коллекция хостов, принадлежащих к группе веб-серверов
webservers: hosts: alpha.example.org: beta.example.org: 192.168.1.100: 192.168.1.110:
Пример 3: вы можете создавать хосты с использованием диапазонов и добавлять группы и группы детей в группу. Детальная группа может определять все, что вы обычно добавляете в группу
testing: hosts: www[001:006].example.com: vars: testing1: value1 children: webservers: hosts: beta.example.org:
Предыдущие ответы верны, но здесь просто hosts.yaml и INI, как бок о бок на скриншоте, и я просто копирую фактический hosts.yaml тоже, поэтому, если вы хотите скопировать и вставить и отредактировать его для себя
---
all:
hosts:
xmp:
ansible_connection: ssh
ansible_host: "192.1.0.1"
ansible_port: 7822
ansible_user: nanoseco
Дополнительная информация:
https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html
просто обнаружил Ansible INI в конвертере инвентаря YAML на github
который отлично работал для меня:
This repository contains a Python script for converting Ansible inventories in INI format to YAML format.
по какой-то причине преобразование закончилось диапазонами хостов ([01:03]
), разделяемыми =
вместо показанного и правильного :