Я начал управлять всеми своими виртуальными машинами с помощью 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
Идея
state.apply
с помощью salt-ssh
, состояние строится начиная с /srv/salt/init/top.sls
state.apply
с помощью salt
, состояние строится начиная с /srv/salt/base/top.sls
Что происходит, так это то, что salt-ssh
ведет себя точно так, как ожидалось, но salt
создает некую объединенную мерзость, которая фактически содержит оба состояния, описываемые init
и base
.
По-видимому salt
помнит init
окружающей среды и втягивает ее, что бы я ни делал. Как мне заставить его забыть о init
Окружающая среда?
Я исправил это, увеличив свой init
штаты добавить environment: base
к /etc/salt/minion
. Это фактически заставляет миньона игнорировать init
Окружающая среда. Но почему он вообще его удостоил? Разве за окружающей средой не стоит идея заставить соль делать разные вещи?
Вероятно, это не совсем ответ на ваш вопрос, в любом случае в моей настройке я просто использую базовую среду, и я выполняю загрузку соли, используя солить. Таким образом, вам не понадобится init
окружающая среда вообще