当我们改变 Salt 中节点的状态时,我们可以删除依赖项吗?

当我们改变 Salt 中节点的状态时,我们可以删除依赖项吗?

我想知道当我们改变节点状态时是否可以安装和删除软件包?
为了澄清我的意思,这里有一个例子:

组:
负载均衡器
Web 服务器
数据库

节点:
Minion1
Minion2
Minion3

如果我们将 Minion1 添加到“Web 服务器”组,则必须在其上安装 Java 和 Tomcat 服务器。如果从“Web 服务器”组中删除 Minion1,则必须从中删除 Java 和 Tomcat 服务器。如果我们将 Minion 2 添加到“负载均衡器”和“数据库”两个组中,则必须安装 Nginx 和 MySQL。如果我们从“数据库”组中删除 Minion2 并将 Minion2 添加到“Web 服务器”,则必须从中删除 MySQL 并在其上安装 Java 和 Tomcat。依此类推。

是否可以配置 Salt 以使其像这样运行?也许还有其他选择?

答案1

您可以设置每个组以包含与pkg状态以这样一种方式,他们既决定需要什么installed,又决定需要什么purged

但这似乎是一种奇怪的方法。通常,如果您想要替换一个节点,您会将旧虚拟机全部移除,然后为新角色实例化一个新的虚拟机。这样,您可以确保一切干净,并且不会冒着可能干扰新角色的任意更改的风险。

相关内容