我正在阅读有关环境的 puppet 文档,并希望在此特定声明中进行澄清:
当该节点向主节点请求目录时,它会请求该环境。如果您使用的是 ENC 并且它为该节点指定了一个环境,它会覆盖配置文件中的任何内容。
这是否意味着即使我的节点从生产环境中请求目录,如果存在相同的节点是另一个环境,主节点会将目录分配给节点?据我所知,它应该给出错误。
我正在阅读有关环境的 puppet 文档,并希望在此特定声明中进行澄清:
当该节点向主节点请求目录时,它会请求该环境。如果您使用的是 ENC 并且它为该节点指定了一个环境,它会覆盖配置文件中的任何内容。
这是否意味着即使我的节点从生产环境中请求目录,如果存在相同的节点是另一个环境,主节点会将目录分配给节点?据我所知,它应该给出错误。
node 'node-slave01' {
include repo::git
include fun::cmatrix
}
node 'node-slave02' {
include repo::hg
include fun::toilet
}
node 'node-slave03' {
include fun::rup
include repo::svn
include fun::cmatrix
}
node 'node-slave04' {
include repo::git
include repo::hg
include repo::svn
include fun::cmatrix
include fun::toilet
}
node /node-slave\d+/ {
include lamp
include test
include fun::rup
include sup
}
因此,所有内容都/node-slave\d+/
不会运行。如果我将sup
模块放在 4 个节点中的任何一个节点下,它会在我编写后运行sudo puppet agent --test
,但如果它在正则表达式下则不会。
如果我想让某些节点做某些事情,但有一些命令我希望它们全部执行,我该怎么做?在每个节点下写include sup
似乎非常烦人。
我想学木偶。在 Suse 上安装正常。CA 和 SSL 工作正常
puppet cert list --all
归还我的主人和我的客户。
在客户端
puppet agent -t
返回OK,没问题。
我开始了一个非常简单的清单,hello world,我想在master和client上申请。
file { '/tmp/hello-world.txt':
ensure => file,
content => "hello, world\n",
}
做主
puppet apply manifest.pp
在客户端
puppet agent -t
在主人我看到 hello world 文件,在客户端没有。这是我在主人和客户端上的 puppet.conf
#master
[master]
vardir = /opt/puppetlabs/server/data/puppetserver
logdir = /var/log/puppetlabs/puppetserver
rundir = /var/run/puppetlabs/puppetserver
pidfile = /var/run/puppetlabs/puppetserver/puppetserver.pid
codedir = /etc/puppetlabs/code
dns_alt_names = suse3.mynet.priv,suse3
[main]
certname = suse3.mynet.priv,suse3
server = suse3.mynet.priv,suse3
environment = production
runinterval = 1h
#Client
[main]
certname = suse2.mynet.priv
server = suse3.mynet.priv
environment = production
runinterval = 1h