我有一些由Chef管理的长期运行的节点,最终将通过新的食谱版本升级一些软件。
例如,我将Java 7安装在/opt/jdk7文件夹中,并最终希望将其替换为/opt/jdk8中的Java 8。对于新节点,这很好,它们将有/opt/jdk8。但是对于长时间运行的节点,理想情况下,我希望有一种方法可以去掉/opt/jdk7,这样它就不会随着时间的推移积累未使用的资源。
这方面有什么最佳实践吗?我真的不想开始添加目录删除资源来清理jdk7,因为这些资源会弄乱食谱,增加收敛时间……还有其他建议吗?
发布于 2015-06-23 19:16:34
对于某些资源,有zap
食谱(请参阅https://github.com/nvwls/zap#zap_directory),它可以清理当前chef run中未定义的所有内容。注意,它是相当不完整的,可能会破坏很多。
如果您必须重用虚拟机/机器,并且不能用新实例替换它(我也希望如此),那么可以在您的食谱中添加一个清理方法,用于清理旧版本的…
https://stackoverflow.com/questions/31007034
复制