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

Можем ли мы удалить зависимости при изменении состояния узла в Salt?

Интересно узнать, можно ли устанавливать и удалять пакеты при изменении состояния узла?
Чтобы прояснить, что я имею в виду, приведу пример:

Группы:
Балансировщик нагрузки
веб сервер
База данных

Узлы:
Миньон1
Миньон2
Миньон3

Если мы добавим Minion1 в группу «Веб-сервер», то мы должны установить на нем сервер Java и Tomcat. Если удалить Minion1 из группы «Веб-сервер», нам придется удалить из нее сервер Java и Tomcat. Если мы добавим Minion 2 в обе группы «Балансировщик нагрузки» и «База данных», то нам придется установить Nginx и MySQL. Если мы удалим Minion2 из группы «База данных» и добавим Minion2 к «Веб-серверу», то нам придется удалить с него MySQL и установить на нем Java и Tomcat. И так далее..

Можно ли настроить Salt таким образом? Может какие альтернативы?

Вы можете настроить каждую группу так, чтобы она содержала состояния, которые работают с pkg состояния таким образом, что они определяют, что должно быть installed а также то, что должно быть purged.

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