HTML Diff
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>