在人偶中分组节点

Tob*_*ins 4 puppet

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

import "nodes/*.pp"
Run Code Online (Sandbox Code Playgroud)

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

node puppet-client-1 {
  include testmodule
}
Run Code Online (Sandbox Code Playgroud)

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

group testgroup{
  puppet-client1
  puppet-client2
}

node webservers
{
  include testmodule
}
Run Code Online (Sandbox Code Playgroud)

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

The use of 'import' is deprecated at /etc/puppet/manifests/site.pp:2
Run Code Online (Sandbox Code Playgroud)

如果已弃用,如何将清单文件拆分为多个组?

谢谢 :)

Cra*_*ell 6

有两种方式:

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

node 'puppet-client1', 'puppet-client2' {
    include testmodule
}
Run Code Online (Sandbox Code Playgroud)

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

node /^puppet-client[0-9]+/{
  include testmodule
}
Run Code Online (Sandbox Code Playgroud)

但这取决于合适的主机命名方案。

您可以查看节点定义的官方文档。