【发布时间】:2017-07-09 17:05:02
【问题描述】:
我最近开始使用 Puppet,我正在努力解决的问题之一是保存“状态”。也许以下示例任务会有所帮助:
- 使用 Puppet 安装一些软件(Apache httpd 或数据库)
- 使用 Puppet 创建一些服务(比如数据库或 httpd 实例)
- 使用 Puppet 启动服务(比如说启动数据库实例)
- 使用 Puppet 请求 SSL 证书并在准备好后导入它们 (Apache)
- 将有关服务器详细信息的信息复制到某个数据库中
- 还有更多...
在所有这些中,我想保存状态。说一旦 SSL 任务完成,保存状态,这样当 Puppet 下次运行时,它知道 SSL 已生成,并一起跳过此任务。我目前正在以“俗气”的方式执行此操作,即我正在创建“文件”以指示任务已完成,并在下一次运行中检查文件是否存在以允许我做出决定。
有没有更优雅的方法来实现这一点?也许是一个习惯事实?我真的很想知道其他人如何使用 Puppet 来存储和检索他们的任务状态。
EDIT:为 Alex 添加更多详细信息 其中一项任务是使用详细信息更新内部公司数据库,例如服务器名称、创建的数据库实例的名称等。此任务只需完成一次,而不是每 30 分钟完成一次(30 分钟是 Puppet 代理运行的频率)。
【问题讨论】:
-
人们为此使用来自(例如)Vagrant box 或 Docker 镜像的可移植实例。使用 Puppet 配置这些将自动执行您想要的操作。
-
@user,如果您提供您正在使用的实际代码,我可以就更简洁的实现给出我的想法。目前,我不完全确定您要解决的问题是什么。
标签: puppet