【问题标题】:How can I execute a specific command with the puppet agent from the puppet master when needed?如何在需要时使用 puppet master 的 puppet 代理执行特定命令?
【发布时间】:2016-08-26 03:20:12
【问题描述】:

我想在需要时远程指导 puppet 代理执行来自 puppet master 的指定命令。

我试过这个方法,但没有达到预期的效果。我这样定义一个标记为exec

exec { 'mkdir_test':
  command => '/bin/mkdir -p /123',
  tag     => 'mkdirtest',
}

当我执行puppet kick -t mkdirtest时,位于'/123'的目录将被成功创建。当我执行puppet kick 或puppet 守护进程定期执行时,标记的exec 也会被执行,但我想过滤标记的exec。换句话说,我不希望指定的命令在我需要的时候定期执行。

有没有办法用 puppet 做到这一点?

请原谅我糟糕的英语。 谢谢。

【问题讨论】:

  • 您需要的是编排工具,而不是配置管理工具。查看 puppet 的副产品 mcollective。

标签: puppet


【解决方案1】:

Puppet 是一种配置管理工具,可帮助您构建基础架构并维护其状态。所以如果你不带条件地输入exec,它会在每次运行时执行命令。

当您希望命令执行时,您可以使用onlyifunlesscreatesrefreshonly 来管理案例。

作为建议:

  1. 为了得到更好的答案,能否详细说明您希望创建目录的条件。

  2. 不赞成使用exec。您可能想使用file 资源来创建目录。这也能让你更好地控制条件。

【讨论】:

  • 首先感谢您,Atmesh Mishra。我已经用 puppet 文件通知/订阅解决了这个问题。我创建一个文件,并在 puppet master 上的文件被修改后踢代理,这意味着我需要按需做一些事情。
猜你喜欢
  • 1970-01-01
  • 2016-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-16
  • 2018-03-28
  • 1970-01-01
相关资源
最近更新 更多