15

刚刚从 Puppet 开始,对这个世界来说真的很陌生。

我有

  • CentOS 6 傀儡大师
  • CentOS 6 木偶客户端

在 Master 中有一个模块:

 puppet module list
/etc/puppet/modules
âââ mstanislav-yum (v1.0.0)

所以我想将相同的模块应用于我的 puppet 客户端,但我不能或者我不知道为什么

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

但是客户端没有任何更改:-/

任何的想法?

4

10 回答 10

13

您尚未声明模块(将其分配给您的节点)...

将此添加到 site.pp:

node 'fqdn of client' {
  include yum
} 

然后,您可以运行puppet agent -t以查看它的运行情况。

于 2012-12-17T22:10:31.387 回答
4

您可以使用以下命令查看详细信息输出

傀儡代理 --test --trace

于 2012-12-17T10:02:41.760 回答
2

尝试使用 Hiera 和 yaml 文件,我认为它更灵活,更有条理。

编辑 site.pp 文件:

node "default" {
    hiera_include('classes')
}

之后,您可以简单地调用每个特定 node.yaml 文件中的类:

classes:
  -class1
  -class2

我在Ubuntu上使用它,工作正常。

于 2017-03-10T19:37:52.497 回答
1

您可以尝试 --noop 模式(试运行模式)。

puppet agent --server=YOUR_PUPPET_SERVER_NAME --onetime --no-daemonize --verbose --noop

这将显示它应该做的改变,但实际上不会改变任何东西。删除 --noop 将完成所有这些更改。

检查文档以了解上述命令中其他选项的说明。 http://docs.puppetlabs.com/man/agent.html

于 2012-12-17T18:53:16.650 回答
1

将模块应用于节点的两种主要方法是将以下之一添加到site.pp

node 'node <certname> (normally the fqdn)' {
    require <module name>
}

或者

node 'node's <certname>' {
    include <module name>
}

然后在节点中运行puppet agent --test

require类似于 include 但它创建依赖关系并允许多次声明相同的类,如果您想要重叠的角色类,这很好。

于 2014-03-11T16:51:38.600 回答
1
  1. 首先从 puppet forge 安装模块
  2. 打开 site.pp 并添加以下行
node default {
       # include module_name
         include apache
}

然后在你的傀儡代理上运行以下命令。

sudo puppet agent --test

于 2014-09-08T11:50:05.020 回答
1

如果您在另一个不是 site.pp 的位置添加了节点声明(这是推荐的方法),那么请记住将“导入”配置添加到 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 { }
于 2017-06-04T16:44:05.617 回答
0

您必须创建一个包含要应用的类的“包含”的节点定义。

于 2018-03-22T20:58:01.443 回答
0

puppet apply -e "include mstanislav-yum"

如果您想自己运行该模块,尽管在您的 site.pp 清单中包含节点定义更为常见。

于 2018-11-08T21:49:31.887 回答
0

我的作品中的活生生的例子:

node 'client.io' {

class { '::selinux':
mode => 'disabled',
type => 'targeted',
}

class { 'zabbix::agent':
server => '192.168.245.11',
serveractive => '192.168.245.11',
}

include firewall
include mysql::server

}
于 2019-09-23T09:14:06.273 回答