我正在尝试使用 Puppet 在 Ubuntu 14.04 x64 上部署服务器。
我可以正常 ping puppet 服务器,并且服务器在 puppet.conf 中设置正确。Puppet 可以连接到主服务器,发送其密钥,我可以在主服务器上签名密钥并开始运行部署,没有任何问题,但是在运行部署时,我看到以下错误:
Error: Could not set 'file' on ensure: getaddrinfo: Name or service not known
Error: Could not set 'file' on ensure: getaddrinfo: Name or service not known
Wrapped exception:
getaddrinfo: Name or service not known
Error: /File[/var/lib/puppet/lib/puppet/provider/a2mod.rb]/ensure: change from absent to file failed: Could not set 'file' on ensure: getaddrinfo: Name or service not known
我多次收到此信息(完整输出在此处:http://pastebin.com/mx6eXGvd)。
我 puppet 清单中的所有文件都使用该puppet:///modules/MODULE/FILE
格式,我以前从未遇到过这样的问题。很明显,puppet 代理和主机可以通信,那么有人知道是什么导致了这个错误吗?
答案1
您的输出中还有这一行:错误:无法从远程服务器检索目录:getaddrinfo:名称或服务未知:
这让我认为你的 puppet 代理上的 DNS 解析已损坏,并且你的客户端无法找到名为“puppet”的服务器(或你在 puppet.conf 中设置为“服务器”的任何主机名)。