如何让 Foreman 上的“运行 Puppet”按钮正常工作?

如何让 Foreman 上的“运行 Puppet”按钮正常工作?

首先,我知道 serverfault 上已经有一个非常类似的问题,但它并不能完全回答我的问题。

因此,我的设置如下:我有一台服务器,运行 Ubuntu 14.04 LTS 和 puppet master 3.4.3,以及 foreman 1.6。客户端是一台运行 puppet agent 3.7.0 的 Windows 7 计算机。

自动运行工作正常,我只是无法让Run Puppet按钮正常工作。我总是看到这个红色覆盖层和以下消息:

failed to execute puppetrun: ERF12-4252 [ProxyAPI::ProxyException]: Unable to execute Puppet run ([RestClient::InternalServerError]: 500 Internal Server Error) for proxy https://puppetmaster:8443/puppet

我按照维基百科并在节点上添加了之前不存在的文件 auth.conf。我将其放入C:\ProgramData\PuppetLabs\puppet\etc\puppet.conf 文件所在的目录中。我还向此目录添加了一个空的 namespaceauth.conf。在节点和服务器上,我激活了 listen=true。我将 foreman-proxy 添加到 sudoers 文件中。我多次重新启动了节点服务和 puppetmaster。我发现的所有其他帖子都说“现在您有一个可用的运行 puppet 按钮”。除了我之外,它不起作用。

我能找到的唯一日志条目是在 /var/log/foreman-proxy/proxy.log:

E, [2014-10-20T17:50:53.051681 #1119] ERROR -- : Failed puppet run: Check Log files

我检查了所有能找到的日志文件,但找不到关于此错误可能是什么的更多信息。编辑:添加了指向 wiki 的链接第二次编辑:我还检查了Foreman 错误代码但不幸的是,我得到的代码没有任何与之相关的信息。(是的,我检查了代理通信错误 - 没有)

答案1

终于成功运行了!错误代码 ( ERF12-4252) 似乎对应不同的错误。我有不同的配置错误,导致控制台上出现不同的错误,但 Foreman 总是报告相同的消息。

对我来说,解决问题的方法是使用puppet kick <mynode>命令行中的命令。在那里我发现我的客户端证书名称有拼写错误,因此与主机名不符。

在 Windows 客户端上,我做了同样的事情(停止 puppet windows 服务并在 puppet 命令行窗口中启动代理,以puppet agent --debug --no-daemonize验证代理上是否发生任何事情。

这也有助于找到 auth.conf 文件的正确目录。在 Windows 上安装代理时,auth.conf 文件放置在安装目录中(通常C:\Program Files\PuppetLabs\Puppet\puppet\conf),但预计放置在C:\ProgramData\PuppetLabs\puppet\etc

因此,将文件复制到此位置并添加所需的行即可。

path /run
allow puppetmaster.dev.nextgen.local

之后,我只需要删除 foreman 中的旧主机,在代理上创建一个新证书,在 puppetmaster 上对其进行签名,然后在 foreman 中添加新主机。

答案2

有关如何设置不同方法以使“运行傀儡”工作的文档在这里:

Foreman 手册的 Puppet 部分 (4.3.7)

目前,可以通过“MCollective”、“Puppetssh”和“puppetrun (或 kick)”(已弃用)设置远程运行。

答案3

它对我有用我选择了 puppetssh 源http://theforeman.org/manuals/1.11/index.html#4.3.6Puppet

按照上述链接中内容 puppetssh 下的一条指令,现在在文件中编辑以下行。

/etc/foreman-proxy/settings.d/puppet

:puppetssh_command: /usr/bin/puppet agent --onetime --no-usecacheonfailure

将其转换为

:puppetssh_command: /usr/bin/puppet agent --test

现在它会像魔法一样工作,如果它不工作,请随时回复,欢呼

相关内容