Puppetmaster 上的更改并不总是能立即被 Puppet 代理识别

Puppetmaster 上的更改并不总是能立即被 Puppet 代理识别

介绍

每天都会发生很多次 Puppetmaster 上的更改无法被 Puppet 代理立即识别的情况。如果是这种情况,则需要运行 Puppet 超过 5 次(例如 X<5 分钟)才能识别更改。

  • Puppet版本:3.7.3
  • X>100 个 Puppet 代理节点
  • 一名傀儡大师

预期的

Puppetmaster 上的更改应始终被 Puppet-agent 立即识别

尝试

解决该问题的一次尝试是在阅读本文档

Puppet includes a basic puppet master web server based on Ruby’s WEBrick library.
(This is what Puppet uses if you run puppet master on the command line or use
most puppetmaster init scripts.)

You cannot use this default server for real-life loads, as it can’t handle 
concurrent connections; it is only suitable for small tests with ten nodes 
or fewer. You must configure a production quality web server before you
start managing your nodes with Puppet.

Any Rack-based application server stack will work with a puppet master, but if 
you don’t have any particular preference, you should use Passenger combined 
with Apache. This guide shows how to configure Puppet with this software.
  1. 使用 Passenger 运行 puppetmaster。
  2. 另一个尝试是每 30 分钟停止 Puppet-agent 节点上 Puppet 的自动运行

当前的

这些尝试并没有解决问题,即 Puppetmaster 上的更改没有被 Puppet-agent 立即识别

答案1

这可能是环境缓存的问题 - 默认情况下,在 3.7 中,文件系统上环境的数据将缓存 3 分钟,因此在缓存过期之前,代理节点看不到更改。

调整主人environment_timeout来获得你想要的行为,但警告说,0完全避免缓存可能会对性能产生一些不良影响。

相关内容