我希望这是一个简单的修复,并且作为背景,我没有使用 Puppet 或 Foreman 的经验。
设置:
- 两个在 ec2 上运行的 Puppet 主节点
- 许多其他 ec2 节点运行 puppet 模块
- foreman 在 ec2 上运行
- gitlab 在 ec2 上运行
puppet 模块都是在 gitlab 中定义的。通常,当对 gitlab 源文件进行更改并推送到 master 时,puppet 将运行并更新更改。
但是这种情况已经不再发生了。我的理解是,puppet 主节点将从 gitlab 中提取更改,然后将其推送到实际运行代码的 puppet 代理节点。
我一直在尝试找出问题所在,但真的很挣扎。
我做了更多的挖掘,现在在/var/log/syslog
“代理”节点
puppet-agent[31231] Could not request certificate: Failed to open TCP connection to puppet:8140 (getaddrinfo: Name or service not known)
我猜想这是相关的。
如果我跑sudo puppet agent --test
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Fact file /var/lib/puppet/facts.d/factor was parsed but returned an empty data set
Fact file /var/lib/puppet/facts.d/puppet was parsed but returned an empty data set
Info: Caching catalog for {server-name}
Info: Applying configuration version 'XXXXXX'
Notice: Finished catalog run in 1.64 seconds
我无法判断这是否真的会调用主节点来检查新配置?