Linux

如何將 Windows 伺服器配置為 Puppet 代理伺服器?

  • November 10, 2016

如何將 Windows 伺服器配置為 Puppet 代理伺服器?

我在 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 代理命令時會出現上述錯誤?

puppet 依賴於 SSL 證書。如果您通過其 IP 查詢您的 puppetmaster,證書驗證將失敗。

在你的 puppetmaster 上,執行hostname -f.

在您的 Windows 伺服器上,確保您可以解析該名稱。最後,定義一些 DNS 記錄。

從那裡,您應該能夠針對您的 puppetmaster 的完全限定域名執行 puppet 代理。從來沒有它的IP。

在沒有管理上下文的情況下執行的使用者將重新請求證書。始終確保您打開的是管理命令行(提升的命令行),從管理員帳戶打開命令行是不夠的。

請參閱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 代理服務會在安裝後立即生成,前提是它可以連接到正確的 Puppet 主伺服器。

引用自:https://serverfault.com/questions/814117