如何将 Windows 服务器配置为 Puppet Agent 服务器?

如何将 Windows 服务器配置为 Puppet Agent 服务器?

如何将 Windows 服务器配置为 Puppet Agent 服务器?

我在 CentOS 7 上运行 Puppet Enterprise 4.x,在 Windows Server 2012 上运行 Puppet Agent 3.7.4。这是我第一次尝试设置它。我知道从 Puppet Master 服务器到 Puppet Agent 服务器没有端口被阻止。

当我运行该puppet agent -t x.x.x.x命令时(从以管理员身份打开的 Windows PowerShell 窗口),出现此错误:

警告:无法获取我的节点定义... xxxx 与服务器证书不匹配...无法使用“eval_generate”生成其他资源...与服务器证书不匹配:预期为其中之一...

puppet.conf 文件看起来不错。在 Puppet Master 服务器上,我运行了“puppet cert list --all”,结果显示 Puppet 代理服务器已签名。

我可以从 Puppet Master ping Puppet Agent 服务器。我可以从 Puppet Agent ping Puppet Master 服务器。Puppet 的 GUI 显示一条消息“由于节点管理器无法连接到,因此已禁用运行 Puppet。”

为什么我运行 Puppet 代理命令时会出现上述错误?

答案1

puppet 依赖于 SSL 证书。如果您通过其 IP 查询 puppetmaster,证书验证将失败。

在你的傀儡大师身上,运行hostname -f

在 Windows 服务器上,确保您可以解析该名称。最后,定义一些 DNS 记录。

从那里,您应该能够针对 puppetmaster 的完全限定域名运行 puppet 代理。 永远不要使用其 IP。

答案2

在没有管理上下文的情况下运行的用户将重新请求证书。始终确保您打开的是管理命令行(提升的命令行),从管理员帐户打开命令行是不够的。

https://docs.puppet.com/puppet/4.5/reference/services_agent_windows.html#running-puppet-agent-on-demandhttps://docs.puppet.com/pe/latest/troubleshooting_windows.html#error-messages更多细节。

您可能无意中创建了没有管理员权限的原始证书,现在尝试在管理员凭据下运行时遇到问题。证书只会为 FQDN 生成一次,但通常 Puppet Agent 服务会在安装后立即生成证书,前提是它可以连接到正确的 Puppet 主服务器。

相关内容