SaltStack之Job管理和Runner
Posted shhnwangjian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SaltStack之Job管理和Runner相关的知识,希望对你有一定的参考价值。
SaltStack之Job管理和Runner
配置文件/etc/salt/master
cachedir: /var/cache/salt/master # cache路径 keep_jobs: 24 # job保存时间
salt执行模块官方文档 https://docs.saltstack.com/en/latest/ref/modules/all/index.html
- 如何将master的返回加入mysql数据库?
1)数据库表结构创建可参考 http://www.cnblogs.com/shhnwangjian/p/5986964.html 的第三节“返回程序”
2)yum install -y MySQL-python 创建python的mysql模块
3)修改master配置文件
vi /etc/salt/master master_job_cache: mysql mysql.host: \'192.168.137.11\' mysql.user: \'salt\' mysql.pass: \'salt@pw\' mysql.db: \'salt\' mysql.port: 3306
4)重启 systemctl restart salt-master.service
5)测试:
salt \'*\' test.ping 数据中查询 select * from salt_returns;
- 如何kill salt正在执行的任务?
salt \'*\' saltutil.running # 查看正在运行的任务,找到jid
salt \'*\' saltutil.kill_job jid # 根据jid杀掉任务
salt \'*\' saltutil.clear_cache # 清除minion缓存
备注:
1)正在执行的salt任务,job id会存在minion端的/var/cache/salt/minion/proc目录下
2)正在执行的salt任务,根据上面master cache的配置,Job的路径/var/cache/salt/master/jobs目录下
salt runners
官方文档 https://docs.saltstack.com/en/latest/ref/runners/index.html
命令:salt-run
举例:
salt-run jobs.list_jobs # 列出当前保存在job cache中的历史执行任务 salt-run jobs.lookup_jid jid # 查看历史jid执行结果
备注: 我们通过salt命令开头执行时,所有的命令master端分发至minion端,由minion端自己执行,如果一个模块在master存在,在minion端不存在,就会出现执行失败的情况。为了解决这个问题,提供salt runners模块,它是将所有的命令在master端执行。
salt-run manage.status # 查看minion的状态
salt-run manage.down salt-run manage.up
salt-run manage.versions # 查看minion的版本
以上是关于SaltStack之Job管理和Runner的主要内容,如果未能解决你的问题,请参考以下文章