【问题标题】:Does JClouds-Chef have a revert function?JClouds-Chef 有还原功能吗?
【发布时间】:2014-08-21 15:40:33
【问题描述】:

我正在使用出色的 JClouds-Chef 库通过 Chef 引导和配置 VM。

我需要考虑在 VM 上执行 JClouds-Chef 之后出现问题的用例,这使我基本上可以回滚并卸载它。这里的目标是在出现问题时让系统保持最初的状态(在 JClouds-Chef 参与之前)。

  1. 一种解决方案可能是完全卸载 Chef Client
  2. 另一种解决方案可能是彻底清除或将引导程序反转到 VM 上有一个简单的 /tmp/chef-bootstrap.sh 文件的地步
  3. 理想的解决方案,根据我的情况,如果 chef-bootstrap.sh 可以一遍又一遍地运行,并且每次运行时,只需重新配置 Chef,它就会“正常”客户端使用 VM 应具有的任何最新配方/角色/环境。

所以我的第一个问题是,#3 是否高于案例?如果没有,那么我该如何实施解决方案 #1 或 #2,或者是否有更好的方法来实现此撤消/还原/回滚功能?

【问题讨论】:

    标签: java chef-infra jclouds


    【解决方案1】:

    据我所知,Chef 不提供开箱即用的回滚。

    关于您的问题:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-10
      • 1970-01-01
      • 2014-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-04
      相关资源
      最近更新 更多