【问题标题】:puppet update a configuration file only if it is updatedpuppet 仅在更新配置文件时才更新它
【发布时间】:2018-09-03 07:24:17
【问题描述】:

我已经为一个小型集群配置了 puppet master 和 agent。我知道对于文件传输,我必须使用 puppet 的文件资源,它会覆盖现有文件,如果给定它也会重新启动服务。有没有办法仅在更新时更新代理上的文件?我找到了一个选项“替换”,如果该文件已经存在,它不会将更新的文件写入给定位置。但是如果旧文件有旧内容怎么办?如何做到这一点

【问题讨论】:

  • 我不确定你在问什么。
  • 我只是说如何更新代理上的配置文件,如果它在源(主)中更新
  • 所以你的意思是你想让代理的文件副本漂移,并且只有当它在主服务器上再次更改时才更新?
  • 是的,先生,我就是这么说的

标签: puppet puppet-enterprise puppetlabs-apache


【解决方案1】:

从 cmets 了解到,您希望允许代理的文件副本漂移并仅在主服务器上再次更改时才更新。

这是不可能的。如果您考虑 Puppet 的工作原理,您可能会意识到很难将这样的功能添加到 Puppet 文件类型中。虽然弄清楚所需状态是否与实际状态不同很容易,但 Puppet 如何区分由 Puppet 外部进行的本地更改引起的“漂移”和由发布的新版本文件引起的“漂移”清单 - 或两者兼而有之?

【讨论】:

  • Puppet 不仅难以辨别文件内容不同步的原因,而且假设以不同方式处理这两种情况是有意义的,这将是有问题的。如果文件的主副本发生更改,如果不正常,为什么可以删除本地自定义?
猜你喜欢
  • 2015-09-22
  • 1970-01-01
  • 2016-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-17
  • 2010-11-23
相关资源
最近更新 更多