Puppet 错误:无法创建 master.pid

Puppet 错误:无法创建 master.pid

我已经配置了 Puppet 服务器和客户端,当我puppet master --verbose --no-daemonize在 Puppet 服务器上运行的时候,我收到以下消息,

通知:启动 Puppet Master 版本 3.8.4
错误:无法运行:无法创建 PID 文件:/var/run/puppet/master.pid

有什么可能的解决方案?

答案1

该错误err: Could not retrieve catalog from remote server表明傀儡代理无法联系傀儡大师。

确保 puppet 代理已配置 puppetmaster 的主机名或完全限定域名。查看/etc/puppetlabs/puppet/puppet.conf并在部分中[main]确认的值server是否正确。

示例配置:

[main]
certname = puppetmaster01.example.com
server = puppet
environment = production
runinterval = 1h
strict_variables = true
trusted

在上面的例子中,服务器名称puppet必须是 puppetmaster 的地址。

查看puppet 配置文档

其次,确保 puppetmaster 的主机名或完全限定域名解析为 IP 地址。如果无法解析,请修复 DNS。

使用dig或其他工具来确保名称正确解析:

dig puppet

最后,检查 puppetmaster 上的防火墙。确保防火墙配置中允许所有必需的端口,如文档

  • 8140 Puppet 主控器使用此端口接受来自 Puppet 代理的入站流量/请求。PE 控制台通过此端口向 Puppet 主控器发送请求。除非 ca_port 设置不同,否则证书请求将通过此端口传递。分类器组:“PE 主控器”
  • 443 此端口提供对 PE 控制台的主机访问。PE
    控制台在此端口上接受来自最终用户的 HTTPS 流量。分类器组:“PE 控制台”
  • 61613 MCollective 使用此端口接受来自 Puppet 代理的入站流量/请求。用于调用
    命令的任何主机都必须能够通过此端口访问 MCollective。分类器
    组:“PE ActiveMQ Broker”
  • 8142 编排服务使用此端口接受来自 Puppet 代理的入站流量/请求。分类器组:“PE Orchestrator”

答案2

尝试:puppet agent --test --server localhost

如果这样可行,则说明您没有server在 Puppet 代理配置中正确设置参数。

答案3

检查您的网络设置、DNS 设置和puppet配置设置。

该错误表明代理无法连接到主服务器,因为它无法解析主服务器的主机名。

这可能是由于错误的网络设置(例如错误的 IP)、缺少 DNS 服务器条目或 DNS 服务器故障,或者由于代理上的 puppet.conf 文件中的配置错误。

相关内容