是否可以在主配置文件(/ etc / salt / master)之外定义节点组。似乎动态节点组不应该在主配置中,或者我认为节点组的方式是错误的。
在我的场景中,我们的服务器按其命名约定按角色分类。这意味着我们有多个名为location-nginxXX.mydomain.com的服务器,其中XX表示节点。节点上的应用程序可以/将随时间变化。当我们将应用程序从一个节点移动到另一个节点时,我们希望使用其他状态和支柱项目来定位新节点。理想情况下,我们使用分配给给定应用程序的服务器列表更新某些配置(支柱,可能?)。然后,我们使用新应用程序的状态更新服务器,并删除不再需要的状态。
我们的方法是否合理,如果是这样,你如何针对具有状态和支柱的不断变化的仆从?
答案 0 :(得分:1)
如果您正在动态地使用节点组'那么这通常是使用compound matchers之一完成的。你定义一个nodegroup
(在master
中)匹配可以在配置中的其他地方更改的内容(grains
是最常见的,但支柱也有效)。如果要更改服务器组,只需修改它的配置即可与其他节点组匹配。
答案 1 :(得分:0)
您可以使用ENC(外部节点分类器)-建立自己的分类器,或使用类似reclass的东西。