如何在Puppet中存储状态?
我最近开始使用木偶,我正在努力的领域之一就是拯救“国家”。以下示例任务可能会有所帮助:如何在Puppet中存储状态?,puppet,Puppet,我最近开始使用木偶,我正在努力的领域之一就是拯救“国家”。以下示例任务可能会有所帮助: 使用Puppet安装一些软件(Apache httpd或数据库) 使用Puppet创建一些服务(比如数据库或httpd实例) 使用Puppet启动服务(比如启动数据库实例) 使用Puppet请求SSL证书并在准备好后导入它们(Apache) 将有关服务器详细信息的信息复制到某些数据库中 还有更多 在这一切中,我想拯救国家。假设SSL任务完成后,保存状态,这样当Puppet下次运行时,它知道生成了SSL并跳过此
有没有更优雅的方式来实现这一点?也许是一个习惯的事实?我真的很想知道其他人是如何使用Puppet来存储和检索他们任务的状态的 编辑:为Alex添加更多详细信息
其中一项任务是使用服务器名称、创建的db实例名称等详细信息更新内部公司数据库。此任务只需完成一次,而不是每30分钟完成一次(30分钟是Puppet代理运行的频率)。如果我正确理解了问题,我认为您要从上面列表中检查的所有“状态”都可以通过或轻松检查 示例:从上面的列表nr1。您已经安装了apache,希望下次检查它是否已安装
exec { 'install_apache':
command => '/usr/bin/apt-get install apache2 apache2-doc apache2-utils',
refreshonly => true,
path => ['/usr/bin', '/bin', '/sbin'],
unless => 'apt-cache search apache2', }
所以在本例中,您将使用检查apache是否已安装,即如果命令apt cache的退出状态返回0(true),则不会执行该命令
这可用于检查是否创建了SSL,甚至数据库查询。人们使用来自(例如)Vagrant Box或Docker映像的可移植实例来执行此操作。使用Puppet设置这些将自动执行您想要的操作。@用户,如果您提供您正在使用的实际代码,我可以就更干净的实现给出我的想法。目前,我不能完全确定你试图解决的问题是什么。