Каждый раз, когда я запускал роль для развертывания + конфигурации Linux VM, Ansible думает по 15 минут. А если нужно было поднять 10+ хостов - уходит час из жизни... SSH-сессии, перезагрузки модулей, простаивающие в очереди таски… пхпхпхпхп это не автоматизация, а психотерапия с таймером.. 😢
И кажется этот момент настал... порылся в гугле, перепробовал разные стратегии... и нашел наверное самое лучшее -> Mitogen - стратегия, которая ускоряет Ansible в 3 - 10 раз.
Почему это крутотень?
1) Одно SSH-соединение вместо тысячи - Ansible традиционно открывает новую сессию для каждой задачи Mitogen оставляет один канал открытым и гоняет через него все задачи.
2) Кэширование "на лету" - модули (типа copy или file) грузятся один раз, а не по 50.
3) Параллельность работает КАК И ДОЛЖНА РАБОТАТЬ - хосты не стоят в очереди... Mitogen динамически распределяет задачи между активными соединениями -> медленные серверы не тянут за собой все.
На самом деле поюзав этого зверя... я скостил разворачивание и конфигурацию хостов с 15-и минут аж до 6 на 1 хост, пачка и совсем за ~20 минут настраивается...
Есть конечно проблемки... Mitogen работает не на все модули, но кто нам мешает допилить 😊
В общем... всем кто работает с Ansible, настоятельно рекомендую... да да
➡️ Github / Документация
Post #108
1.16K

- ❤ 15
- 👍 4
- 🔥 3
- 👀 1