Flo*_*ian 7 windows ubuntu puppet puppetmaster foreman
首先,我知道在 serverfault 上已经有一个非常相似的问题,但它并没有完全回答我的问题。
所以,我的设置如下:我有一台服务器,运行 Ubuntu 14.04 LTS 和 puppet master 3.4.3 和 foreman 1.6。客户端是运行 puppet 代理 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
Run Code Online (Sandbox Code Playgroud)
我按照wiki的说明在节点上添加了以前不存在的文件 auth.conf。我把它放在C:\ProgramData\PuppetLabs\puppet\etc\puppet.conf 文件所在的位置。我还在这个目录中添加了一个空的 namespaceauth.conf。在节点和服务器上我激活了listen=true。我在 sudoers 文件中添加了 foreman-proxy。我重新启动了节点服务和 puppetmaster 几次。这就是我发现的所有其他帖子都说“现在你有一个可以运行的运行木偶按钮”。除了我它不起作用。
我能找到的唯一日志条目是在 /var/log/foreman-proxy/proxy.log 中:
E, [2014-10-20T17:50:53.051681 #1119] ERROR -- : Failed puppet run: Check Log files
Run Code Online (Sandbox Code Playgroud)
我检查了我能找到的所有日志文件,但找不到关于此错误可能是什么的任何进一步信息。编辑:添加到 wiki 的链接第二次编辑:我还检查了工头错误代码,但不幸的是,我得到的代码没有任何链接到它的信息。(是的,我检查了代理通信错误 - 没有)
终于成功运行了!看来错误代码(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
Run Code Online (Sandbox Code Playgroud)
之后,我只需删除 foreman 中的旧主机,在代理上创建新证书,在 puppetmaster 上对其进行签名,然后在 foreman 中添加新主机即可。
| 归档时间: |
|
| 查看次数: |
8846 次 |
| 最近记录: |