Конфигурация 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/ приводит к неожиданному поведению, поскольку значение возьмётся только из одного места.

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

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

🔤 Английские термины в этой теме

Слова из этой темы, которые русскоязычные часто произносят неверно. Кнопка 🔊 произносит голосом браузера.

Весь словарь терминов →