在puppet中分组节点

在我的site.pp清单中,我有以下

import "nodes/*.pp" 

这让我很好地为不同的组创build单独的文件。 但是,在每个.pp文件中,我仍然必须显式设置要应用模块和类的节点的名称,如下所示:

 node puppet-client-1 { include testmodule } 

我的问题是,如何将多个节点分组在一起,然后将模块和/或类应用到该节点组? 例如:

 group testgroup{ puppet-client1 puppet-client2 } node webservers { include testmodule } 

当我在这里,我的日志正在吐出这个:

 The use of 'import' is deprecated at /etc/puppet/manifests/site.pp:2 

如果这是不赞成的,我怎么把我的清单文件拆分成组?

谢谢 :)

有两种方法:

1)一行中有多个节点名称:

 node 'puppet-client1', 'puppet-client2' { include testmodule } 

请参阅https://docs.puppetlabs.com/puppet/latest/reference/lang_node_definitions.html#multiple-names

2)节点可以用正则expression式来定义,例如:

 node /^puppet-client[0-9]+/{ include testmodule } 

但是这取决于一个合适的主机命名scheme。

https://docs.puppetlabs.com/puppet/latest/reference/lang_node_definitions.html#regular-expression-names