如何在Puppet中定义多个不同的定义资源列表?

时间:2014-01-16 18:50:58

标签: puppet

我想使用Puppet创建一个配置文件。此文件可以具有多种类型的定义资源,并且可以具有相同定义资源的多个实例。

例如,

define host {
    use linux-server
    host_name localhost
    alias localhost
    address 127.0.0.1
}

define host {
    use linux-server
    host_name web1
    alias web1
    address 192.168.0.100
}

define service {
    use local-service
    host_name localhost, web1
    service_description PING
    check_command check_ping!100.0,20%|500.0,60%
}

在此示例中,将有两个主机定义资源实例和一个服务定义资源实例。

这篇文章(Is it possible to define a list of Defined Resource in Puppet?)似乎是一个开始,但我很难将其概括为我的目标。

谢谢!

艾伦

1 个答案:

答案 0 :(得分:0)

我会指出两个选择,两个实现。

  1. 使用 erb模板for each结构来构建文件。 Templating
  2. 使用concatconcat fragments构建您的文件Concat module
  3. 这两个选项都允许您构建文件,而且相对容易。我想我会使用erb模板,如果文件就像发布它一样简单,如果conf文件是几个部分的异构混合,我会使用concat结构。