Экосистема

Тема дорожной карты · SaltStack

Salt давно перерос формулу «мастер плюс миньоны»: вокруг ядра сложилась экосистема из официальных компонентов, community-расширений и сопутствующих инструментов. Сюда входят salt-api (REST-интерфейс к мастеру), salt-cloud (провижининг виртуальных машин), salt-ssh и proxy minions (управление системами без агента), формулы (готовые переиспользуемые состояния) и инструменты тестирования вроде salt-lint и kitchen-salt. Ключевое событие последних лет — «Great Module Migration»: начиная с релиза 3008 значительная часть модулей вынесена из ядра в отдельные пакеты-расширения, которые сопровождает сообщество в GitHub-организации salt-extensions. Понимание этой новой географии — где живёт ядро, где расширения, откуда ставятся пакеты — обязательное условие работы с современным Salt.

Как это работает

Ядро — репозиторий saltstack/salt на GitHub: мастер, миньон, транспорт, система состояний, базовые модули. Его сопровождают инженеры Broadcom вместе с сообществом; лицензия — Apache 2.0. Модули, вынесенные при миграции, живут отдельными проектами в организации salt-extensions: каждый — обычный Python-пакет с именем вида saltext-<название>, публикуемый в PyPI и устанавливаемый командой salt-pip install saltext-… прямо в onedir-окружение Salt. Пакеты самого Salt с конца 2024 года раздаются с packages.broadcom.com (репозиторий на базе Artifactory) — прежний repo.saltproject.io не действует, а версии старше 3006 из репозитория недоступны. Рекомендуемый формат установки — onedir: пакет со встроенным интерпретатором Python, что избавляет от конфликтов с системными библиотеками. Вокруг этого ядра работают дополнительные демоны и утилиты — salt-api, salt-cloud, salt-ssh, — использующие ту же инфраструктуру состояний и событий.

Когда применять

Карта экосистемы нужна, когда штатных возможностей перестаёт хватать. Нужно дёргать Salt из внешних систем — CI, портала самообслуживания, ChatOps — смотрите salt-api. Нужно создавать виртуальные машины, а не только настраивать существующие, — salt-cloud. Есть хосты, куда нельзя поставить агента (сетевое оборудование, appliance), — salt-ssh и proxy minions. Не хотите писать состояния для типового софта с нуля — поищите готовую формулу. А если после апгрейда на 3008 «пропал» привычный модуль — почти наверняка он переехал в salt-extensions и возвращается одной командой salt-pip install.

Типичные ошибки

Главный источник боли — устаревшие материалы: статьи и ответы на форумах до 2024 года ссылаются на repo.saltproject.io и на модули, которых в ядре 3008 больше нет. Проверяйте актуальность по официальной документации и блогу проекта. Вторая ошибка — ставить зависимости системным pip вместо salt-pip: onedir-пакет несёт собственный Python, и библиотеки из системного окружения он не видит. Третья — путать open source Salt с проприетарным GUI (SaltStack Config / Aria Automation Config): это отдельный коммерческий продукт, и его наличие не требуется ни для одной возможности, описанной в этом роадмапе.

Связанные понятия

Полезные ресурсы

Проверить знания (2)

Загрузка вопросов…