Назад | Перейти на главную страницу

Принудительно восстановить состояние миньона?

TL; DR

Я начал управлять всеми своими виртуальными машинами с помощью Saltstack. Я создал две отдельные среды, init и base, для установки миньона на только что развернутую виртуальную машину и текущего управления конфигурацией соответственно. Успешно развернув миньона, он придерживается состояний из ОБЕИХ сред! Я не хочу этого. Это следует делать только в соответствии с base Окружающая среда.

Почему он использует обе среды и как заставить его не заботиться о init среды больше, после первоначального развертывания?


Развернув новую виртуальную машину, я использую salt-ssh для создания репозиториев установите соляной миньон и запустите его. После этого я использую salt для управления моими виртуальными машинами. Поэтому для каждой новой виртуальной машины я делаю (один раз)

salt-ssh -i 'anewhost' state.apply

и после этого я делаю / cron делает

salt '*' state.apply

Конфигурация моих корней файлов - единственное содержимое файла конфигурации моего хозяина:

file_roots:
  base:
    - /srv/salt/base
  init:
    - /srv/salt/init

Чтобы сделать виртуальную машину миньоном, я использую файл реестра. /etc/salt/roster, где каждый блок выглядит так:

anewhost:
  host: anewhost.mydomain.tld
  user: root
  passwd: rootpw
  minion_opts:
    environment: init

Идея

Что происходит, так это то, что salt-ssh ведет себя точно так, как ожидалось, но salt создает некую объединенную мерзость, которая фактически содержит оба состояния, описываемые init и base.

По-видимому salt помнит init окружающей среды и втягивает ее, что бы я ни делал. Как мне заставить его забыть о init Окружающая среда?

Изменить: Quickfix

Я исправил это, увеличив свой init штаты добавить environment: base к /etc/salt/minion. Это фактически заставляет миньона игнорировать init Окружающая среда. Но почему он вообще его удостоил? Разве за окружающей средой не стоит идея заставить соль делать разные вещи?

Вероятно, это не совсем ответ на ваш вопрос, в любом случае в моей настройке я просто использую базовую среду, и я выполняю загрузку соли, используя солить. Таким образом, вам не понадобится init окружающая среда вообще