Конфигурация minion
Тема дорожной карты · SaltStack
Конфигурация minion хранится в YAML-файле /etc/salt/minion и drop-in-файлах в каталоге /etc/salt/minion.d/ (файлы *.conf). Минимально необходимой опцией является master: с адресом мастера, поскольку остальные параметры имеют разумные значения по умолчанию. В конфигурации minion решаются важные вопросы: идентификатор машины, действия при старте, статические grains и поведение при недоступности мастера. Изменения в конфигурации вступают в силу после перезапуска сервиса: systemctl restart salt-minion.
Как это работает
Ключевые опции:
master— адрес мастера (имя или IP); для multi-master-схемы можно указать список адресов.id— идентификатор minion, видимый мастером и используемый для таргетинга команд; если опция не задана, minion берёт FQDN хоста и кэширует результат в файле/etc/salt/minion_id. При следующих стартах используется именно кэш, а не свежий hostname.startup_states: highstate— миньон применяет highstate сразу после запуска сервиса, что удобно для самонастройки машин после разворачивания.- Блок
grains:задаёт статические grains (роль, датацентр, окружение), используемые в таргетинге и top file. log_levelуправляет подробностью лога/var/log/salt/minion.
Автоматизации кладут свои настройки отдельными файлами в minion.d/ — например, cloud-init записывает туда master и id, не трогая основной файл.
Когда применять
Явное задание id необходимо, когда hostname машин нестабилен или неинформативен. Осмысленные идентификаторы вида web-01.prod упрощают таргетинг и top file. Статические grains в конфигурации — правильное место для «паспортных» атрибутов машины: роль, команда-владелец, окружение. Эти данные объявляет сам minion. startup_states включают там, где машины создаются автоматически и должны доводить себя до нужного состояния без ручного вмешательства. Список в master: применяют для отказоустойчивости, когда мастеров больше одного. minion.d/ — стандартный способ раскатывать фрагменты конфигурации самим Salt: состояние управляет drop-in-файлом и перезапускает сервис по watch.
Типичные ошибки
Кэш minion_id в золотых образах может привести к конфликтам идентификаторов на мастере. Перед снятием образа удаляйте /etc/salt/minion_id и каталог ключей minion. Смена id на живой машине без понимания последствий требует принятия нового ключа на мастере и удаления старого через salt-key -d. Правка конфигурации без перезапуска сервиса не вступит в силу. Дублирование одной опции в основном файле и в minion.d/ приводит к неожиданному поведению, поскольку значение возьмётся только из одного места.
Связанные понятия
Полезные ресурсы
🔤 Английские термины в этой теме
Слова из этой темы, которые русскоязычные часто произносят неверно. Кнопка 🔊 произносит голосом браузера.
- resilience /rɪˈzɪliəns/ «ризИлиэнс» разбор: Архитектура: coupling, bottleneck, single point of failure
- identifier /aɪˈdɛntɪfaɪər/ ударение на «ден» разбор: Как читать код вслух
- consequences /ˈkɒnsɪkwənsɪz/ ударение на первый слог, «кОнсиквенсиз» разбор: ADR и design doc: context, decision, consequences
- configure /kənˈfɪɡjər/ ударение на «фи» разбор: Глаголы инженера: deploy, merge, roll back, refactor
- result /rɪˈzʌlt/ ударение на второй слог разбор: Behavioral questions и метод STAR
- should /ʃʊd/ l немая разбор: Язык RFC: MUST, SHOULD, MAY (RFC 2119)