我不确定如何表述这个问题,所以问题是这样的:
我使用 v2.6.16 全新安装了 puppet-server 和 puppet,并按照以下步骤在 2 个节点(分别为 puppet 和 puppet-agent)上运行http://docs.puppetlabs.com/guides/installation.html适用于Linux系统(CentOS)。
在 puppet[-server] 框上,我发出puppetca -la
并返回:
+ puppet (DB:50:1B:37:47:78:DA:F2:69:28:B7:E2:22:1B:C5:28) (alt names: DNS:puppet, DNS:puppet.abc.com)
(请注意,没有列出 puppet-agent)...此外,没有列出 puppet 实例puppet cert list
当用 签名时puppetca --sign puppet
,我得到:
err: Could not call sign: Could not find certificate request for puppet
相同puppetca --sign puppet.abc.com
private_keys 和 certs 目录中有一个 puppet.pem。certificate_requests 目录为空。自动签名已关闭。
我很乐意提供任何额外的信息并感谢任何帮助。
两台机器上的 puppet.conf 如下,无注释:
[main]
logdir = /var/log/puppet
rundir = /var/run/puppet
vardir = /var/lib/puppet
factpath = $vardir/lib/facter
ssldir = $vardir/ssl
server = puppet.abc.com
dns_alt_names = puppet, puppet.abc.com
pluginsync = true
[agent]
classfile = $vardir/classes.txt
localconfig = $vardir/localconfig
[master]
templatedir = var/lib/puppet/templates
根据评论进行编辑
- 主人正在运行
- 代理可以通过主机名联系主服务器
- 代理无法远程登录到主服务器上的 8140 - 主服务器正在监听 0.0.0.0:8140,并且 iptables 和 selinux 已关闭
- 5 月 14 日 13:40:13 puppet-agent puppet-agent[25920]: (/File[/var/lib/puppet/lib]) 无法使用“eval_generate”生成其他资源:SSL_connect 返回 = 1 errno = 0 state = SSLv3 读取服务器证书 B:证书验证失败 5 月 14 日 13:40:13 puppet-agent puppet-agent[25920]: (/File[/var/lib/puppet/lib]) 无法评估:SSL_connect 返回 = 1 errno = 0 state = SSLv3 读取服务器证书 B:证书验证失败 无法检索 puppet://puppet.abc.com/plugins 的文件元数据:SSL_connect 返回 = 1 errno = 0 state = SSLv3 读取服务器证书 B:证书验证失败 5 月 14 日 13:40:14 puppet-agent puppet-agent[25920]: 无法从远程服务器检索目录:SSL_connect 返回 = 1 errno = 0 state = SSLv3 读取服务器证书 B:证书验证失败
- puppet agent--test 产生:dnsdomainname:未知主机信息:检索插件错误:/File[/var/lib/puppet/lib]:无法使用“eval_generate”生成其他资源:SSL_connect 返回=1 errno=0 state=SSLv3 读取服务器证书 B:证书验证失败错误:/File[/var/lib/puppet/lib]:无法评估:SSL_connect 返回=1 errno=0 state=SSLv3 读取服务器证书 B:证书验证失败无法检索 puppet://puppet.abc.com/plugins 的文件元数据:SSL_connect 返回=1 errno=0 state=SSLv3 读取服务器证书 B:证书验证失败 dnsdomainname:未知主机错误:无法从远程服务器检索目录:SSL_connect 返回=1 errno=0 state=SSLv3 读取服务器证书 B:证书验证失败警告:未在失败的目录上使用缓存错误:无法检索目录;跳过运行 5月14日 13:40:14 puppet-agent puppet-agent[25920]: 使用缓存目录
- netstat 生成处于 LISTEN 状态的 ruby/puppet 和处于 TIME_WAIT 状态的代理
答案1
任何开放的签名请求都应列在puppet cert list
主目录中。如果它们没有出现在那里,那么尝试签名是没有用的。一旦签名,它们就会从列表中消失,只会显示在 中puppet cert list --all
。
看来您的主人没有收到来自代理的签名请求,因为您的列表是空的。有很多事情可能出错。让我们从这些开始:
- 主人跑步了吗?
- 主机名“puppet”或“puppet.abc.com”是否从代理解析?
- 主服务器上的 TCP 端口 8140 是否可以从代理服务器访问(尝试
telnet puppet 8140
:)? - 代理上的系统日志说了什么?
- 尝试
puppet agent --test
代理,它将尝试连接到主服务器并停留在前台以显示输出。