Динамический инвентарь для Ansible: как избавиться от тысяч строк YAML и не потерять контроль
Программный комитет ещё не принял решения по этому докладу
Целевая аудитория
Тезисы
Мы расскажем, как избавились от громоздких статических инвентарей Ansible, переведя конфигурации инфраструктуры на собственный формат динамического инвентаря. Раньше наши инвентари занимали тысячи строк, а любое изменение сопровождалось болью и риском затронуть соседние инстансы. Мы построили плагин, который по краткому YAML-описанию формирует полноценный инвентарь для Ansible, устраняя дублирование и автоматизируя вычисление зависимых параметров.
В докладе покажем, как структурируется наш динамический инвентарь, какие секции (constants, servers, components) отвечают за разные уровни описания системы и как мы используем Python-классы для генерации подходящих для разных продуктов конфигураций. Разберем, как такая архитектура ускоряет развертывание, уменьшает человеческий фактор и дает прозрачную систему значений по умолчанию.
Мы сравним наш подход с существующими open source-решениями и обсудим, какие из идей можно масштабировать в других командах. После доклада участники смогут спроектировать аналогичный уровень абстракции для своих Ansible-инвентарей и сократить время поддержки инфраструктуры на порядок.
Прошла путь от разработки инструментов разработчика (DevEx) до развития инструментов установки продуктов - Ansible-коллекции, Helm-чарты. Принимаю участие в развитие проекта Ansible Tarantool Enterprise - коллекции для установки продуктов на базе Tarantool, стремясь сделать её как можно удобнее для пользователей и учесть все сценарии её использования.
Видео
Другие доклады секции
DevOps практики и культура