Я работаю над несколькими сборниками игр Ansible, чтобы ускорить новый экземпляр сервера. Есть приблизительно 15 разных книг, которые мне нужно запустить в определенном порядке, чтобы успешно раскрутить сервер.
ansible-playbook playbook_name.yml
Сначала я хотел написать сценарий оболочки, который выполнял бы и дублировал по одной записи для каждой пьесы, которую мне нужно запустить.
Существует ли более умный / лучший способ сделать это с помощью мастер-книги и, если да, как бы это выглядело (примеры приветствуются).
Я мог бы написать одну монолитную пьесу, которая делает все это, но есть некоторые пьесы, которые сначала запускаются от имени пользователя root, а затем от имени пользователя sudo.
ansible
ansible-playbook
nulltek
источник
источник
become:
деталь в конец каждого блока. Возможно, вам придется создать новую игру, чтобы переключить пользователя подключения с пользователя root на пользователя sudo.Ответы:
Создайте много подпрограмм и объедините их с помощью операторов включения.
Если ваши пьесы должны работать по порядку и если все они обязательны, создайте основную книгу и включите файлы с заданиями. Сборник пьес всегда должен быть закрытым процессом.
источник
- include : books/*.yml
include
не рекомендуется. docs.ansible.com/ansible/latest/playbooks_reuse.html Я думаю, чтоimport_playbook: foo
это правильный путь, но я не очень опытный.Для более новых версий Ansilbe вы можете создать множество вспомогательных книг и объединить их с помощью операторов import_playbook:
источник