目标
目标是禁用每30分钟发生一次的自动Puppet-agent运行。 可以更改时间间隔 ,但自动Puppet-agent运行应完全禁用。
尝试一个
根据这个文档 ,应该可以通过configuration以下来禁用自动Puppet-agent运行:
/etc/puppet/puppet.conf
[agent] daemonize=false
结果是
Notice: Run of Puppet configuration client already in progress; skipping (/var/lib/puppet/state/agent_catalog_run.lock exists)
如果木偶以30分钟的默认运行间隔手动运行。
尝试两个
user@hostname:~$ sudo puppet agent --disable
结果是
user@hostname:~$ sudo puppet agent -t Notice: Skipping run of Puppet configuration client; administratively disabled (Reason: 'reason not specified'); Use 'puppet agent --enable' to re-enable.
尝试三
这个文档是通过Googlesearch这个问答之后发现的,但是提供的信息没有回答这个问题。
“尝试一个”应该工作。 如果它已经在运行,你必须自己停下来。 这只是防止未来的实例守护进程。 如果我失去了一些东西,请澄清为什么这不起作用。 你也可以通过chkconfig puppet off && service puppet stop在红帽和衍生物上chkconfig puppet off && service puppet stop 。
你正在寻找一个像这样的命令:
puppet agent --disable
你需要确保傀儡代理不是作为一项服务开始的。 像systemctl或chkconfig这样的命令在这里是你的朋友(例如systemctl disable puppet或chkconfig puppet off )。 不知道大多数发行。
那么你也应该确保代理停止。 例如systemctl stop puppet或service stop puppet 。
你也可以用木偶来完成上面的事情:
puppet apply <(echo "service { puppet: ensure => false, enable => false }")
如果仍然不起作用,请pkill puppet ,然后重试,如果仍然不起作用 – 重启。
我不希望守护进程选项影响这一点 – 我希望能够控制程序背景本身是否与terminal分离。
https://docs.puppetlabs.com/references/stable/configuration.html#runinterval说…
runinterval
傀儡代理人多久应用这个目录。 请注意,运行间隔为0意味着“连续运行”而不是“永不运行”。如果您希望puppet agent永远不会运行,您应该使用–no-client选项启动它。 此设置可以是以秒(30或30s),分钟(30m),小时(6h),天(2d)或年(5y)为单位的时间间隔。
这似乎更相关(参考开始--no-client而不是设置本身)。
当我们需要停止伪造定期更改时,我们只需停止受pipe节点上的服务。 这显然意味着你需要能够通过一些其他机制来调用一次性运行(我们不经常这样做,所以只需从shell运行)。
有了这个设置puppetd正在运行,但没有定期更新(这是我的期望 – 我试图在testing机器上,但没有足够的时间已经过去了)。
运行puppet agent --test将导致一次运行,但不会安排任何未来运行。
如果你正在运行木偶守护进程, sudo service puppet stop
或者删除cronjob,如果这是你如何configuration。
正如我在链接问题中提到的,有一种可能是运行puppet-agent并禁用configuration运行,它将运行runinterval更改为非常大的值,如10年或类似的情况。 但是这个解决scheme仍然会在代理重启后触发configuration运行