На данный момент в site.yml определено несколько ролей:
- include: role1.yml
- include: role2.yml
- include: role3.yml
- include: role4.yml
- include: role5.yml
и они запускаются синхронно путем выдачи:
ansible-playbook -i testing site.yml -u root --vault-password-file ~/.vault_pass.txt
Вопрос
Как запустить сразу все определенные роли в site.yml?
Обсуждение
Он работает для асинхронного запуска всех ролей, открывая несколько терминалов и выполняя:
ansible-playbook -i testing playbook1.yml -u root --vault-password-file ~/.vault_pass.txt
ansible-playbook -i testing playbook2.yml -u root --vault-password-file ~/.vault_pass.txt
ansible-playbook -i testing playbook3.yml -u root --vault-password-file ~/.vault_pass.txt
ansible-playbook -i testing playbook4.yml -u root --vault-password-file ~/.vault_pass.txt
ansible-playbook -i testing playbook5.yml -u root --vault-password-file ~/.vault_pass.txt
Взгляни на playbooks стратегии:
В 2.0 мы добавили новый способ управления исполнением игры, стратегию, по умолчанию игры будут по-прежнему выполняться, как и раньше, с тем, что мы называем линейной стратегией. Все хосты будут запускать каждую задачу до того, как какой-либо хост запустит следующую задачу, используя количество вилок (по умолчанию 5) для распараллеливания.
Стоит попробовать установить стратегию на free
:
Вторая стратегия поставляется с доступным бесплатным доступом, что позволяет каждому хосту работать до конца игры так быстро, насколько это возможно.
- hosts: all
strategy: free
Также проверьте вилки установка в ansible.cfg
:
Это количество параллельных процессов по умолчанию, запускаемых при обмене данными с удаленными хостами. Начиная с Ansible 1.3, число вилок автоматически ограничивается количеством возможных хостов, так что это действительно предел того, с какой нагрузкой на сеть и процессор, по вашему мнению, вы можете справиться. Многие пользователи могут установить это значение 50, некоторые - 500 или больше. Если у вас большое количество хостов, более высокие значения ускорят выполнение действий на всех этих хостах. По умолчанию очень консервативно:
forks=5