Puppet 傀儡代理可以';找不到服务器
我不熟悉木偶,但很快就学会了。今天,我在尝试运行以下程序时遇到了一个问题:Puppet 傀儡代理可以';找不到服务器,puppet,Puppet,我不熟悉木偶,但很快就学会了。今天,我在尝试运行以下程序时遇到了一个问题: $ puppet agent --no-daemonize --verbose --onetime **err: Could not request certificate: getaddrinfo: Name or service not known Exiting; failed to retrieve certificate and waitforcert is disabled** 代理似乎不知道要连接到哪个
$ puppet agent --no-daemonize --verbose --onetime
**err: Could not request certificate: getaddrinfo: Name or service not known
Exiting; failed to retrieve certificate and waitforcert is disabled**
代理似乎不知道要连接到哪个服务器。我可以在命令行上指定--server
,但当它在生产环境中作为守护进程运行时,这对我没有任何用处,因此,我在/etc/puppet/puppet.conf中指定服务器名称,如下所示:
[main]
server = puppet.<my domain>
[main]
服务器=木偶。
我确实有一个木偶的DNS条目。
,如果我挖掘木偶。
,我看到名称解析正确
我读过的所有puppet文档都声明,默认情况下,代理尝试在puppet
连接到puppet主机,您的选项是主机文件欺骗或做正确的事情,在DNS中创建CNAME,并相应地编辑puppet.conf,我已经这样做了
那么我错过了什么?非常感谢您的帮助 D'oh!需要
sudo
才能做到这一点!然后一切正常。我实际上也有同样的错误,但我使用了两个学习puppet vm并尝试运行“puppet agent--test”命令
我通过打开master和代理vm上的/etc/hosts文件以及该行解决了这个问题
***.***.***.*** learn.localdomain learn puppet.localdomain puppet
ip地址(星号)最初是一些随机数。我必须在两个虚拟机上更改这个号码,以便它是主节点的ip地址
因此,我想对于有经验的用户,我的建议是检查/etc/hosts文件,以确保此处的主机和代理的ip地址不仅匹配,而且与主机的ip地址相同
对于像我这样的其他noob,我的建议是更清楚地阅读文档。这是“设置代理vm”过程中的一个步骤。我完全错过了xD我必须使用--server
标志:
sudo puppet agent --server=puppet.example.org
在我的例子中,我得到了相同的错误,但这是由于证书应该被签署到puppetmaster服务器上的节点 要检查挂起的证书,请运行以下操作:
$ puppet agent --no-daemonize --verbose --onetime
**err: Could not request certificate: getaddrinfo: Name or service not known
Exiting; failed to retrieve certificate and waitforcert is disabled**
傀儡证书列表
“node.domain.com”(SHA256)8D:E5:8A:2*****”
将证书签名到节点:
puppet cert sign node.domain.com今天在
CentOS 6.4
为了解决这个问题,我所做的只是检查常见的东西,比如hosts和resolv.conf,以确保它们符合预期(与工作服务器相比),然后
已删除/var/lib/puppet目录rm-rf/var/lib/puppet
清除了puppet master上的证书puppetca--clean
服务器名
重新启动网络服务网络重新启动
重演木偶
即使resolv.conf与工作服务器相同,puppet也会更新resolv.conf,并立即重新签署证书并替换所有puppet lib文件
此后一切都很好。再玩一次,我开始怀疑在这个庄园中执行puppet.conf时是否会被读取。我已经在puppet.conf中放入垃圾,甚至尝试删除它,并且在从命令行运行代理时,这两种方法似乎都不会影响结果。但是,当run作为一项服务。可能会这么简单吗?啊-当你不使用sudo时,Puppet将只读取~/.Puppet/Puppet.conf,而不是/etc/Puppet/Puppet.conf。Puppet可以在没有根权限的情况下运行,但显然无法安装系统包或管理服务等。我也发现了这一点。谢谢:)一个小提示。安装Puppet时使用特殊用户像CentOS上的puppet
,然后你必须与该用户一起运行它,并提供--server
如下参数:sudo-u puppet puppet agent--server=puppet.my domain.com
花了30分钟,然后我找到了金子!:Pi有了这个问题,答案,第一条评论被否决了,仍然回到了这里……我没有回答op,但使用--server选项puppet代理-t--server=puppet服务器