如何將 Windows 伺服器配置為 Puppet 代理伺服器?
如何將 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-demand和https://docs.puppet.com/pe/latest/troubleshooting_windows.html#error -messages了解更多詳情。
您可能無意中創建了沒有管理員權限的原始證書,現在嘗試在管理憑據下執行時遇到問題。證書只會為 FQDN 生成一次,但通常 Puppet 代理服務會在安裝後立即生成,前提是它可以連接到正確的 Puppet 主伺服器。