我正在考虑将Puppet部署到一个不可靠的网络,并且即使Puppet master关闭或无法触发,我们也必须在节点上进行一些所需的状态管理。
我一直在测试Puppet的缓存目录,看看它是否是一个解决方案,这个想法是当代理无法连接到服务器时它会执行缓存的目录。但是,它不仅仅使用缓存的目录,而且只是笨拙而拒绝做任何事情:
Error: Could not retrieve catalog from remote server: Connection refused - connect(2)
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
Error: Could not send report: Connection refused - connect(2)
是的,有一个名为use_cached_catalog的配置选项,当设置为true时,将导致代理仅使用缓存的目录,从不从主服务器更新其配置,这绝对不是我想要的 - 因为这种系统的重点是我们应该能够在最终能够与主机签入时将新配置推送到节点。
还有另一个选项,usecacheonfailure,但是这似乎只在目录编译失败时触发,而不是在代理无法连接到主服务器时触发。或者至少这个选项对我不起作用。
这似乎是一件非常明显的事情,我在这里错过了什么?
# puppet --version
3.5.1
# facter --version
2.0.1
CentOS 6.5。
是的,我知道无主的木偶,但是我不想走那条路,因为有一个中央服务器可以报告所有节点的状态有很多价值,而不是必须设置不同的文件同步机制。