Chef infra “清洁的最佳实践”;旧的;厨师资源的版本

Chef infra “清洁的最佳实践”;旧的;厨师资源的版本,chef-infra,Chef Infra,我有一些由Chef管理的长时间运行的节点,这些节点最终将通过新的cookbook版本升级一些软件 例如,我将Java7安装在/opt/jdk7文件夹中,并最终希望将其替换为/opt/jdk8中的Java8。对于新节点,这很好,它们将具有/opt/jdk8。但是对于长时间运行的节点,理想情况下,我希望有一种方法可以去掉/opt/jdk7,这样它就不会随着时间积累未使用的资源 这方面有什么最佳实践吗?我真的不想开始添加目录删除资源来清理jdk7,因为这些资源会弄乱食谱,增加收敛时间。。。还有其他建议

我有一些由Chef管理的长时间运行的节点,这些节点最终将通过新的cookbook版本升级一些软件

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


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

对于某些资源,有
zap
cookbook(请参阅),它可以清除当前厨师运行中未定义的所有内容。小心,它相当不完整,可以破坏很多


如果您必须重新使用VM/机器,并且无法用新实例替换它(我也更喜欢),请在您的食谱中添加一个清理方法,以清理旧版本…

这不是一个简单的方法,但范例将规定最佳做法是关闭长时间运行的服务器。事实上,这有点像厨师主义,因为像厨师、木偶和码头工人这样的工具都是为了使服务器商品化而创建的。所以我猜我的答案是“不要清理,开始清理吧。”