0 added
0 removed
Original
2026-01-01
Modified
2026-02-19
1
<p><strong>Читать первую часть статьи<a>по ссылке.</a></strong></p>
1
<p><strong>Читать первую часть статьи<a>по ссылке.</a></strong></p>
2
<p>Продолжаем говорить про то, как ускорить работу с Ansible. Держите следующие 5 способов:</p>
2
<p>Продолжаем говорить про то, как ускорить работу с Ansible. Держите следующие 5 способов:</p>
3
<p>1. Используйте strategy: free</p>
3
<p>1. Используйте strategy: free</p>
4
<p>Позволяет хостам не ждать друг друга:</p>
4
<p>Позволяет хостам не ждать друг друга:</p>
5
<p>- hosts: all</p>
5
<p>- hosts: all</p>
6
<p>strategy: free</p>
6
<p>strategy: free</p>
7
<p>2. Ускорение работы с шаблонами (Jinja2)</p>
7
<p>2. Ускорение работы с шаблонами (Jinja2)</p>
8
<p>✅ Избегайте сложных вычислений в шаблонах</p>
8
<p>✅ Избегайте сложных вычислений в шаблонах</p>
9
<p>❌ Медленно:</p>
9
<p>❌ Медленно:</p>
10
<p>{{ lookup('file', '/large/file') | to_json }}</p>
10
<p>{{ lookup('file', '/large/file') | to_json }}</p>
11
<p>✅ Быстрее:</p>
11
<p>✅ Быстрее:</p>
12
<p>{{ precomputed_variable }}</p>
12
<p>{{ precomputed_variable }}</p>
13
<p>3. Локальный режим (--connection=local)</p>
13
<p>3. Локальный режим (--connection=local)</p>
14
<p>Если играетесь с localhost:</p>
14
<p>Если играетесь с localhost:</p>
15
<p>ansible-playbook playbook.yml --connection=local</p>
15
<p>ansible-playbook playbook.yml --connection=local</p>
16
<p>4. Профилирование плейбуков</p>
16
<p>4. Профилирование плейбуков</p>
17
<p>✅ Включите тайминг (callback_plugins)</p>
17
<p>✅ Включите тайминг (callback_plugins)</p>
18
<p>В ansible.cfg:</p>
18
<p>В ansible.cfg:</p>
19
<p>[defaults]</p>
19
<p>[defaults]</p>
20
<p>callback_whitelist = timer, profile_tasks</p>
20
<p>callback_whitelist = timer, profile_tasks</p>
21
<p>Вывод покажет самые долгие задачи!</p>
21
<p>Вывод покажет самые долгие задачи!</p>
22
<p>5. Используйте mitogen (экспериментально)</p>
22
<p>5. Используйте mitogen (экспериментально)</p>
23
<p>Ускоряет Ansible в 2-5 раз:</p>
23
<p>Ускоряет Ansible в 2-5 раз:</p>
24
<p>pip install mitogen</p>
24
<p>pip install mitogen</p>
25
<p>В ansible.cfg:</p>
25
<p>В ansible.cfg:</p>
26
<p>[defaults]</p>
26
<p>[defaults]</p>
27
<p>strategy_plugins = /path/to/mitogen/ansible_mitogen/plugins/strategy</p>
27
<p>strategy_plugins = /path/to/mitogen/ansible_mitogen/plugins/strategy</p>
28
<p>strategy = mitogen_linear</p>
28
<p>strategy = mitogen_linear</p>
29
<p>Какие выводы? Максимальный прирост скорости в Ansible дают:</p>
29
<p>Какие выводы? Максимальный прирост скорости в Ansible дают:</p>
30
<p>◼️ SSH pipelining + ControlMaster (+30-50%);</p>
30
<p>◼️ SSH pipelining + ControlMaster (+30-50%);</p>
31
<p>◼️ параллельный запуск (-f N);</p>
31
<p>◼️ параллельный запуск (-f N);</p>
32
<p>◼️ отключение gather_facts;</p>
32
<p>◼️ отключение gather_facts;</p>
33
<p>◼️ оптимизация инвентаря.</p>
33
<p>◼️ оптимизация инвентаря.</p>
34
<p>Подробнее ускорение Ansible раскрываем в рамках темы "Использование Ansible в продакшене" на курсе<a>"Ansible: Infrastructure as Code".</a></p>
34
<p>Подробнее ускорение Ansible раскрываем в рамках темы "Использование Ansible в продакшене" на курсе<a>"Ansible: Infrastructure as Code".</a></p>
35
<p><strong>После обучения вы сможете с помощью Ansible легко:</strong></p>
35
<p><strong>После обучения вы сможете с помощью Ansible легко:</strong></p>
36
<ul><li>настраивать автоматизацию управления инфраструктурой;</li>
36
<ul><li>настраивать автоматизацию управления инфраструктурой;</li>
37
</ul><ul><li>автоматизировать конфигурацию серверов и развёртывание приложений;</li>
37
</ul><ul><li>автоматизировать конфигурацию серверов и развёртывание приложений;</li>
38
</ul><ul><li>писать, тестировать и оптимизировать плейбуки для автоматизации задач;</li>
38
</ul><ul><li>писать, тестировать и оптимизировать плейбуки для автоматизации задач;</li>
39
</ul><ul><li>внедрять интеграции Ansible с другими инструментами и платформами;</li>
39
</ul><ul><li>внедрять интеграции Ansible с другими инструментами и платформами;</li>
40
</ul><ul><li>интегрировать Ansible с Docker для автоматизации установки, управления и развёртывания контейнеризованных приложений;</li>
40
</ul><ul><li>интегрировать Ansible с Docker для автоматизации установки, управления и развёртывания контейнеризованных приложений;</li>
41
</ul><ul><li>использовать роли и переменные для структурирования и управления конфигурациями и др.</li>
41
</ul><ul><li>использовать роли и переменные для структурирования и управления конфигурациями и др.</li>
42
</ul><p>Стоимость обучения на курсе вырастет 21 апреля. Вы ещё успеваете занять место с выгодой и уже в мае внедрить Ansible в рабочие проекты. Прочитать отзывы студентов и выбрать формат обучения -<a>по ссылке.</a></p>
42
</ul><p>Стоимость обучения на курсе вырастет 21 апреля. Вы ещё успеваете занять место с выгодой и уже в мае внедрить Ansible в рабочие проекты. Прочитать отзывы студентов и выбрать формат обучения -<a>по ссылке.</a></p>