在/ etc / salt / master之外定义节点组

时间:2018-01-21 19:05:57

标签: salt-stack

是否可以在主配置文件(/ etc / salt / master)之外定义节点组。似乎动态节点组不应该在主配置中,或者我认为节点组的方式是错误的。

在我的场景中,我们的服务器按其命名约定按角色分类。这意味着我们有多个名为location-nginxXX.mydomain.com的服务器,其中XX表示节点。节点上的应用程序可以/将随时间变化。当我们将应用程序从一个节点移动到另一个节点时,我们希望使用其他状态和支柱项目来定位新节点。理想情况下,我们使用分配给给定应用程序的服务器列表更新某些配置(支柱,可能?)。然后,我们使用新应用程序的状态更新服务器,并删除不再需要的状态。

我们的方法是否合理,如果是这样,你如何针对具有状态和支柱的不断变化的仆从?

2 个答案:

答案 0 :(得分:1)

如果您正在动态地使用节点组'那么这通常是使用compound matchers之一完成的。你定义一个nodegroup(在master中)匹配可以在配置中的其他地方更改的内容(grains是最常见的,但支柱也有效)。如果要更改服务器组,只需修改它的配置即可与其他节点组匹配。

答案 1 :(得分:0)

您可以使用ENC(外部节点分类器)-建立自己的分类器,或使用类似reclass的东西。