salt大量地在多种系统上执行任务,当然需要有个系统来管理这么庞大的任务,方便历史结果回溯,任务详情查询等等。这一节我们一起来看看如何在salt中管理任务。
我是T型人小付,一位坚持终身学习的互联网从业者。喜欢我的博客欢迎在csdn上关注我,如果有问题欢迎在底下的评论区交流,谢谢。
文章目录
jobs runner
任务的执行结果都会由minion返回到master,所以在master上也存储了相当多的历史信息。除了在minion上执行一些函数,我们还可以在master上跑一些内置的函数去操作这些历史信息,这个功能是由jobs runner来完成的,对应到salt-run
这个命令。
salt-run
命令区别于salt
命令的地方在于是在master上执行一些事先定义好的模块中的函数,而不是在minion上。可以在官方文档salt.runners
中查看定义的模块和函数,查看源码的话可以在github上salt/salt/runners
中查看。
runner众多的模块中很重要的一个模块jobs就用来查看minion端的任务执行情况。
每次给一批minion下发命令,这一次操作对应着一个jid,该jid会在minion的/var/cache/salt/minion/proc
下以jid为名字生成一个文件。假如在配置的超时时间内minion没有返回,会删除原先jid对应的proc文件,则以另一个jid再次下发。还有种场景是对所有minion进行灰度