SaltStack: можно ли применить состояния к мастеру, и если да, то как?
Я новичок в SaltStack, но мне удалось настроить некоторые состояния на машине и запустить их на миньоне.
То, что у меня есть сейчас, - это установка машины Debian с использованием солевого мастера, а также еще одна установка Debian как солонка.
Так как я использую мастер солей также как машину разработки, я хотел бы знать, могу ли я каким-то образом применить состояния к самому хозяину. И если да, то как?
Есть ли команда, которую я могу запустить для применения состояний на главном компьютере? (пока я не смог его найти)
Должен ли я установить соль-миньон на той же машине, чтобы это сделать, и просто зарегистрировать тот же самый компьютер, что и сам миньон?
Спасибо!
Ответы
Ответ 1
Так как я использую мастер солей также как машину разработки, я хотел бы знать, могу ли я каким-то образом применить состояния к самому хозяину. И если да, то как?
Вы можете сделать это, выполнив следующие шаги:
- Установите соль-миньон на вашу машину разработки.
- Измените /etc/salt/minion, чтобы указать на своего хозяина (vi/etc/salt/minion и изменить следующее: master: salt → master: 127.0.0.1)
- (необязательно) Измените /etc/salt/minion _id на то, что имеет для вас значение
- Запустите свою соль-миньон.
- Используйте соль-ключ, чтобы принять свой ключ миньона.
- Используйте своего соляного мастера, чтобы контролировать своего миньона, как если бы это был любой другой солонник.
Есть ли команда, которую я могу запустить для применения состояний на главном сервере?
Соль-мастер на самом деле не запускает файлы состояния, как это делают соляные миньоны. Если вы следовали вышеуказанным шагам, вы можете настроить таргетинг на своего соляного мастера, чтобы запустить highstate с помощью следующей команды:
salt 'the_value_of_/etc/salt/minion_id' state.highstate
Должен ли я установить соль-миньон на той же машине, чтобы это сделать, и просто зарегистрировать тот же самый компьютер, что и сам миньон?
Угу. Я думаю, у вас есть идея относительно того, что вам нужно делать, и просто нужно толчок в правильном направлении.
Ответ 2
Установите как Minion, так и Master на одиночный node
Я называю такой node Мастер-миньон. Никаких шагов не предусмотрено - вы уже знаете это на основе вопроса.
Некоторая концептуальная информация:
- Короче говоря, Учитель никогда не применяет состояния. Вместо этого он запускает Minions (локальный мастер Minion в этом случае).
- Solt Minion и Master - это две отдельные службы с независимым временем выполнения и конфигурацией.
- В то время как экземпляры используют общее программное обеспечение, время выполнения разговаривает по сети (не зависит от местоположения).
- Если вы можете применить состояния на удаленном Minion, , тот же механизм будет использоваться и для локального Minion.
Дополнительная информация
Существует два способа применения состояний:
-
Командная строка salt
для состояния "push" для нескольких удаленных миньонов.
rpm -qf $(which salt)
salt-master-2015.5.3-4.fc22.noarch
-
Команда salt-call
команды " тянуть" на одном локальном миньоне.
rpm -qf $(which salt-call)
salt-minion-2015.5.3-4.fc22.noarch
Пока задействовано более одного миньона, лучше использовать salt-call
для того же эффекта:
salt-call state.highstate
Minion-side salt-call
обеспечивает преимущества, особенно для тестирования, изоляции, устранения неполадок:
Последняя точка, salt-call
--local
также может использоваться в без мастеров, используя без сети.
Ответ 3
Теперь он близок к концу 2015 года. Давайте рассмотрим еще несколько возможностей для самоконтроля соли:
- Установите миньона в сторону с солевым мастером в том же окне
Этот вопрос широко обсуждался как два ответа.
- Использовать соль-ssh + соленое состояние state.orchestrate
Шаги настройки:
Шаг 1: установите salt-ssh
Шаг 2: измените файл реестра (например,/etc/соль/реестр в CentOS 6). Установка по умолчанию уже предоставляет вам пример. Так как вы, вероятно, ssh в солевом хозяине, конечно, настройка имени пользователя/пароля/личного ключа не должна быть проблемой для вас. Например, для контроля брандмауэра с солью, этот образец должен делать:
localhost:
host: 127.0.0.1
user: vagrant
passwd: vagrant
sudo: True
Теперь, украсть из официальный учебник с небольшим завихрением:
# /srv/salt/orch/cleanfoo.sls
cmd.run:
salt.function:
- tgt: 'localhost'
- ssh: 'true'
- arg:
- touch /tmp/test.txt
И запустите его с помощью
salt-run state.orchestrate orch.cleanfoo
Проверьте, есть ли в вашем файле test.txt каталог соляной мастер-бродяга/tmp.
Этот подход должен также работать для государства. В любом случае вам нужно что-то установить. Я предпочитаю второй способ, так как в общем случае вызов самоконтроля солярия (для обеспечения некоторой работы) - это всего лишь шаг, прежде чем я на самом деле вызову minion для обработки других состояний.