使用配置管理工具(例如 salt、puppet、ansible)管理服务器状态时,可以通过应用连续版本的配置轻松开发“非托管”状态。例如,可以执行以下步骤:
- 应用创建文件的配置
/etc/a
- 编辑配置,使其不再创建该文件
/etc/a
或引用它。 - 应用新配置。
这意味着文件/etc/a
仍然挂在服务器上。我的直觉是,真正的声明性工具应该在步骤 3 中删除该文件,但我的经验是这些工具不会这样做。这似乎很危险——例如,如果文件位于 中/etc/ssh/ssh_config.d
。
如何才能避免这种状态的出现,或者甚至检测到它的存在?