Ansible, ведущий инструмент автоматизации конфигурации и оркестрации IT-инфраструктуры, продолжает активно развиваться. Сообщество и компания Red Hat регулярно выпускают новые версии, которые приносят значительные улучшения в производительность, удобство использования и расширяют охват автоматизируемых технологий. В этой статье мы рассмотрим ключевые новинки последних крупных релизов Ansible (включая версии 2.14, 2.15 и перспективы Ansible-core 2.16), сопроводив описание ссылками на краткие видео-демонстрации, которые наглядно показывают новые возможности в действии.
Одной из самых значимых тенденций является развитие Ansible Content Collections. Collections стали основной единицей дистрибуции контента Ansible (модулей, ролей, плагинов). Новые и обновленные Collections теперь выпускаются независимо от ядра Ansible, что позволяет получать обновления модулей для облачных провайдеров (AWS, Azure, Google Cloud), виртуализации (VMware, OpenStack) и специализированного оборудования гораздо чаще. Например, Collection `community.general` и `ansible.posix` постоянно пополняются. В видео-демонстрации №1 показано, как использовать новый модуль `community.general.ipa_config` для управления конфигурацией FreeIPA, что раньше требовало сложных shell-команд.
Серьезные улучшения коснулись производительности и масштабируемости. Введена экспериментальная, но многообещающая поддержка транспорта `ansible-connection` на основе `grpc`. Этот новый механизм выполнения (в будущем призванный заменить `persistent connection`) демонстрирует значительное снижение задержек при выполнении задач на большом количе хостов, особенно в комбинации с стратегией выполнения `free`. Видео-демонстрация №2 сравнивает время выполнения одного playbook на 100 серверах с использованием старого и нового транспорта, показывая прирост скорости до 30-40% для определенных сценариев.
Управление инвентарем (inventory) также получило мощные новые функции. Плагин `constructed` теперь позволяет динамически создавать группы хостов на основе сложных логических выражений, комбинируя переменные из различных источников. Появилась улучшенная поддержка инвентаря в формате YAML с возможностью использования `!include` для модульности. Но главный хит — это расширение возможностей плагина `ansible.builtin.vmware_vm_inventory` для динамического инвентаря VMware, который теперь может группировать ВМ не только по тегам vSphere, но и по custom attributes. В видео №3 показано, как автоматически сгруппировать все виртуальные машины с определенной меткой безопасности для применения специфичных playbook.
Язык шаблонов Jinja2 в Ansible постоянно обогащается. В последних версиях появилась встроенная поддержка фильтров для работы с путями, таких как `basename` и `dirname`, непосредственно в playbook, без необходимости писать сложные выражения. Также добавлены новые тесты, например, `is_union`, для проверки типов данных в сложных структурах переменных. Однако самое интересное — это более тесная интеграция с фильтрами для обработки JSON и YAML, что упрощает разбор сложных ответов от API. Видео-демонстрация №4 иллюстрирует, как с помощью нового синтаксиса легко извлечь список ID инстансов из JSON-ответа AWS CLI.
Безопасность и управление секретами — всегда в фокусе. Плагин `ansible.builtin.vault` стал более гибким. Появилась возможность использовать несколько паролей для шифрования (multiple vault passwords) с помощью ID, что идеально подходит для разделения секретов разных сред (dev, prod) в одном файле. Улучшена интеграция с внешними системами, такими как HashiCorp Vault, через Collections `community.hashi_vault`. Новый модуль `community.hashi_vault.vault_kv2_get` предоставляет более простой и безопасный способ получения секретов. В видео №5 показан процесс настройки многофакторного доступа к зашифрованным переменным с использованием разных vault-id.
Разработка и тестирование playbook также стали удобнее. В составе `ansible-core` появилась утилита `ansible-lint` версии 6.x, которая теперь по умолчанию использует профили правил (profiles), такие как `production`, `minimal` или `moderate`. Это помогает сразу применять лучшие практики. Для отладки улучшен вывод `ansible-doc`, который теперь показывает примеры использования модуля прямо в терминале. Но главный подарок для разработчиков — это новая опция `--check-mode` (dry-run), которая стала значительно детальнее и для многих модулей cloud-провайдеров теперь показывает, какие изменения были бы применены, без реального выполнения.
Автоматизация контейнеров и Kubernetes не осталась без внимания. Collection `kubernetes.core` активно развивается и теперь включает модули для работы с Custom Resource Definitions (CRD), что открывает двери для автоматизации операторов Kubernetes. Модуль `community.docker.docker_stack` позволяет управлять Docker Swarm стеками напрямую из Ansible, что удобно для гибридных сред. Видео-демонстрация №6 демонстрирует, как с помощью одного playbook развернуть и сконфигурировать оператор Prometheus в Kubernetes кластере, используя новые возможности модулей.
Взгляд в будущее: что готовит Ansible-core 2.16? Среди планируемых нововведений — дальнейшая оптимизация работы с большими инвентарями, улучшенная обработка ошибок с более понятными сообщениями, а также расширение поддержки Windows-хостов через протокол SSH (в дополнение к WinRM). Сообщество также активно работает над улучшением `ansible-navigator` — TUI (Text-based User Interface) инструмента для интерактивной работы с Ansible, который может стать отличной альтернативой командной строке для новичков.
Все эти новшества делают Ansible еще более мощным и удобным инструментом. Чтобы оставаться в курсе, рекомендуется не только читать официальную документацию и release notes, но и подписаться на каналы в YouTube, где такие энтузиасты и сама Red Hat регулярно публикуют обзорные видео, подобные тем, на которые даны ссылки в этой статье. Постоянное обучение и эксперименты с новыми функциями — залог эффективной и современной автоматизации вашей инфраструктуры.
Новинки Ansible: обзор ключевых обновлений и возможностей с примерами и видео-демонстрациями.
Обзор последних нововведений в Ansible, включая развитие Collections, улучшение производительности, новые возможности инвентаря и безопасности, с акцентом на практическую демонстрацию функций через видео.
170
4
Комментарии (5)