gpt4 book ai didi

java - JClouds-Chef 有恢复功能吗?

转载 作者:行者123 更新时间:2023-12-01 12:37:43 26 4
gpt4 key购买 nike

我正在使用优秀的JClouds-Chef用于使用 Chef 引导和配置虚拟机的库。

我需要考虑在虚拟机上执行 JClouds-Chef 之后出现问题的用例,这允许我基本上回滚并卸载它。这里的目标是,如果出现问题,让系统保持原来的状态(在 JClouds-Chef 介入之前)。

  1. 一种解决方案可能是完全卸载 Chef Client
  2. 另一个解决方案可能是清除记录或反转 Bootstrap ,直到虚拟机上有一个简单的 /tmp/chef-bootstrap.sh 文件
  3. 根据我的情况,理想的解决方案是,如果 chef-bootstrap.sh 可以一遍又一遍地运行,那么它就是“OK”,并且每次运行时,只需重新配置 Chef 客户端即可使用虚拟机应具有的最新配方/角色/环境。

所以我的第一个问题是,上面的#3 是这样吗?如果没有,那么我如何实现解决方案 #1 或 #2,或者是否有更好的方法来实现此撤消/恢复/回滚功能?

最佳答案

据我所知,Chef 并未提供开箱即用的回滚功能。

关于您的问题:

  1. 卸载 Chef 客户端不会卸载 Chef 运行可能安装的内容,也不会恢复配置文件等中的更改。
  2. 该脚本必须手动创建。
  3. 在 Chef 中恢复内容(或卸载某些内容)的方法是创建一个配方来删除需要删除的内容(例如,要回滚 Apache 安装,您可以创建一个配方来卸载它)。

推荐使用最新的,您可以通过以下方式进行:

  • 将“chef-client” Recipe 添加到节点的运行列表中,以便它定期运行。这样它将监视运行列表中的更改并应用它们。
  • 如果出现故障,您可以更新节点的运行列表并将“回滚配方”保留在那里。在下一次运行 Chef 客户端时,状态将恢复。

定期使用 Chef 客户端时,非常重要的是您使用的所有配方都是幂等的,这样它们就可以运行多次而不会失败(根据定义,它们应该!)。

关于java - JClouds-Chef 有恢复功能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25430481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com