Ускорение Ansible с помощью pipelining
Предлагаем вам несколько простых советов на тему того, как заставить Ansible работать быстрее.
1. Включение конвейеризации
Если вы включите конвейерную обработку (pipelining), сократится число операций SSH, необходимых для выполнения модуля на удаленном сервере. Сокращение количества операций достигается за счет передачи сценариев по каналу (pipe) в SSH-сессию вместо их копирования. Результатом может стать существенное повышение производительности.
Но надо быть осторожным. Дело в том, что конвейеризация станет работать лишь в том случае, если опция requiretty отключена в файле sudoers (/etc/sudoers) на всех удаленных хостах.
2. Отключение сбора фактов (включение кэширования фактов)
Не используете для решения ваших задач Ansible-факты? Отключите шаг сбора фактов, что позволит увеличить скорость! Чтобы это выполнить, достаточно просто добавить в ваш плейбук опцию gather_facts: False:
Впрочем, если вам нужно задействовать Ansible-факты, которые автоматически собраны модулем setup, закэшируйте их — это позволит ускорить дальнейшие выполнения. В общем, если эта тема вас заинтересовала, обязательно загляните в официальную документацию Ansible.
По материалам статьи «15 Things You Should Know About Ansible».