Динамический инвентарь для Ansible: как избавиться от тысяч строк YAML и не потерять контроль

DevOps практики и культура

Непрерывное развертывание и деплой
Devops / другое
Инфраструктура

Программный комитет ещё не принял решения по этому докладу

Целевая аудитория

DevOps инженеры, работающие с коллекциями ansible. Доклад будет интересен в первую очередь разработчикам коллекций, однако тем, кто их использует, так же может быть полезно.

Тезисы

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

Прошла путь от разработки инструментов разработчика (DevEx) до развития инструментов установки продуктов - Ansible-коллекции, Helm-чарты. Принимаю участие в развитие проекта Ansible Tarantool Enterprise - коллекции для установки продуктов на базе Tarantool, стремясь сделать её как можно удобнее для пользователей и учесть все сценарии её использования.

Видео

Другие доклады секции

DevOps практики и культура

Мой тех.дир - cамодур!
Юлия Жерносек

Выгоревший Безработный