Интересно узнать, можно ли устанавливать и удалять пакеты при изменении состояния узла?
Чтобы прояснить, что я имею в виду, приведу пример:
Группы:
Балансировщик нагрузки
веб сервер
База данных
Узлы:
Миньон1
Миньон2
Миньон3
Если мы добавим Minion1 в группу «Веб-сервер», то мы должны установить на нем сервер Java и Tomcat. Если удалить Minion1 из группы «Веб-сервер», нам придется удалить из нее сервер Java и Tomcat. Если мы добавим Minion 2 в обе группы «Балансировщик нагрузки» и «База данных», то нам придется установить Nginx и MySQL. Если мы удалим Minion2 из группы «База данных» и добавим Minion2 к «Веб-серверу», то нам придется удалить с него MySQL и установить на нем Java и Tomcat. И так далее..
Можно ли настроить Salt таким образом? Может какие альтернативы?
Вы можете настроить каждую группу так, чтобы она содержала состояния, которые работают с pkg
состояния таким образом, что они определяют, что должно быть installed
а также то, что должно быть purged
.
Однако это кажется странным подходом. Обычно, если вы хотите заменить узел, вы полностью удаляете старую виртуальную машину и создаете экземпляр новой виртуальной машины для новой роли. Таким образом вы убедитесь, что все в порядке, и не рискуете внести произвольные изменения, которые могут помешать новой роли.