::如何仅在特定节点/ ip上安装软件包httpd?

时间:2018-10-07 21:41:20

标签: puppet

假设有10台服务器,但是我只想在两台服务器上安装httpd,并且操作系统必须是Centos,我已经尝试过使用此清单

class apache {
        if $::operatingsystem == 'CentOS' {
                package { "httpd":
                        ensure => latest
                }
        }
}
node '10.2.0.5' {
        include apache
}

node '10.2.0.6' {
        include apache
}

但是应用目录失败。 我试图用httpd代替apache。但是没有成功。

1 个答案:

答案 0 :(得分:0)

找到解决方案后,我必须声明一个名为testmodule(名称可以是随机的)的类,并为特定主机选择包,对于其他主机,我现在什么也没放,但可以选择其他操作。 经过测试,效果完美。

class testmodule {
package { ['telnet', 'glusterfs', 'wget']:
ensure => installed,
}
}

node 'node1.mysite.example', 'node2.mysite.example' {
  include testmodule
}

node 'default' {
}