清理 "old" 版本的 Chef 资源的最佳实践



我有一些由Chef管理的长期运行节点,这些节点最终将通过新的烹饪书版本升级一些软件。

例如,我将Java 7安装在/opt/jdk7文件夹中,并最终希望在/opt/jdk8中将其替换为Java 8。对于新节点,这很好,它们将具有/opt/jdk8。但对于长时间运行的节点,我希望有一种方法可以去掉/opt/jdk7,这样它就不会随着时间的推移积累未使用的资源。

对此有什么最佳实践吗?我真的不想开始添加目录删除资源来清理jdk7,因为这些资源会打乱食谱并增加收敛时间。。。还有其他建议吗?

对于一些资源,有zap食谱(请参阅https://github.com/nvwls/zap#zap_directory)它可以清除当前chef运行中未定义的所有内容。小心,它相当不完整,可能会破坏很多。

如果你必须重复使用VM/机器,并且不能用新的实例替换它(我也更喜欢),请在你的食谱中添加一个清理食谱,处理清理旧版本的问题…

最新更新