[英]Puppet - how to apply module to puppet client node?
刚从Puppet开始,对这个世界来说真的很新。
我有
在Master中有一个模块:
puppet module list
/etc/puppet/modules
âââ mstanislav-yum (v1.0.0)
所以我想将相同的模块应用到我的木偶客户端,但我不能或我不知道为什么
root@puppetclient: puppet agent --test
Info: Retrieving plugin
Info: Caching catalog for puppetclient
Info: Applying configuration version '1355737643'
Finished catalog run in 0.10 seconds
但客户没有任何变化: - /
任何的想法?
您还没有声明模块(将其分配给您的节点)...
将其添加到site.pp:
node 'fqdn of client' {
include yum
}
然后,您可以运行puppet agent -t
来查看它的运行情况。
您可以使用以下命令查看详细信息输出
木偶代理--test --trace
尝试使用Hiera和yaml文件,我认为它更灵活,组织更好。
编辑site.pp文件:
node "default" {
hiera_include('classes')
}
之后,您可以使用简单的方法调用每个特定node.yaml文件中的类:
classes:
-class1
-class2
我在Ubuntu上使用它,工作正常。
您可以尝试--noop模式(干运行模式)。
puppet agent --server=YOUR_PUPPET_SERVER_NAME --onetime --no-daemonize --verbose --noop
这将显示它应该做的更改,但实际上不会改变任何东西。 删除--noop将执行所有这些更改。
检查doc以获取上述命令中其他选项的说明。 http://docs.puppetlabs.com/man/agent.html
将模块应用于节点的两种主要方法是向site.pp
添加以下内容site.pp
node 'node <certname> (normally the fqdn)' {
require <module name>
}
要么
node 'node's <certname>' {
include <module name>
}
然后在节点puppet agent --test
require
就像include,但是它创建了依赖关系并允许多次声明相同的类,如果你想要重叠的角色类,这是很好的。
node default { # include module_name include apache }
然后在你的木偶代理上运行以下命令。
sudo木偶代理 - 测试
如果您在另一个不是site.pp的位置添加了节点声明(这是建议的方法),那么请记住将“import”配置添加到site.pp,它将引用节点清单。
这就是我的配置的样子。 带有节点DIR和site.pp文件的主要清单DIR:
drwxr-xr-x. 3 root root 4096 May 19 07:23 nodes
-rw-r--r--. 1 root root 62 Jun 4 16:31 site.pp
这是我的节点DIR中的节点声明:
node 'fqdn of client' {
include yum
}
最后,主清单DIR中的site.pp将导入节点,如下所示:
import 'nodes/*.pp'
node default { }
您必须创建一个节点定义,其中包含要应用的类的“包含”。
跑
puppet apply -e "include mstanislav-yum"
如果你想自己运行模块,虽然在你的site.pp清单中包含一个节点定义更常见。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.