假设您正在使用木偶。最初,您可能会使用 puppet 服务器来设置它,并通过 puppet 代理来设置您的服务器(您可能会再次使用图像,但我正在使用 puppet)。
假设初始配置进展顺利,然后您决定需要向服务器添加更多设置;但您不想完全重新配置它;清除系统上的数据库并从头开始;相反,您宁愿添加设置,也许删除一些旧的设置,然后重新启动您的守护进程(公平地说,这可能已经由木偶完成)
你:
A。在运行之前注释掉初始配置代码puppet apply
?
b.设置一个可供代码使用的变量以防止其被重新配置?
这种情况该如何妥善处理呢?因为处理不当似乎可能会导致灾难(恢复)。
答案1
Puppet 是声明性的和功能性的 - 它确保您的系统根据您编写的代码处于一致的状态。
在你的例子中,没有发生重新配置——这就是一些程序系统的工作方式,但不是 Puppet。
因此,如果您最初告诉 puppet 您希望服务器的条件 A、B 和 C 成立,现在您想要 D 和 E,Puppet 代理会查找 - 找到 A、B 和 C 为现有状态,然后执行以下操作什么都没有,然后添加D和E。
在下一次运行时,它会发现没有什么可做的(直到您添加 F 或某些东西破坏了系统上的 AE,然后它会将其配置恢复到已知的良好状态)。