yui 发表于 2018-8-1 11:22:03

saltstack jobs管理

  瞎折腾时,执行了state.highstate时,出现错误,手抖就ctrl + c,就导致线上minion里关闭但未启动(这是和我线上SLS有关),然而刚刚的同步操作仍在minion上执行。
类似下面这样localhost:  Data failed to compile:
  
----------
  The function "state.highstate" is running as PID 3799 and was started at 2013, Apr 10 16:54:19.200123
然而现在想执行一个state.sls,可是有个job正在执行导致无法执行,这么办呢。?是否有像kill功能杀掉它。。?有,在salt 0.9.7版本就引入了jobs管理功能,利用此功能可以管理线上所有jobs,同时也能审计。对master发出去的jobs,把job>上述这个入库可以参考伟哥文章:http://wiki.saltstack.cn/reproduction/salt-returners-fluent-mysql回归正题,想要杀掉这个进程,咱得知道运行的job还在哪些机器上运行,job>利用salt-run jobs.active,可以看到当前正在运行的所有jobs#salt-run jobs.active  
'20140211102239075243':

  //job>  Arguments: []
  Function: state.highstate
  Returned:
  - 1
  - 03
  - 02
  - 4
  - 5
  //正在运行jobs的minion
  - 3
  - 7
  - 1
  - 2
  - jid
  Running: []
  Target: '*'
  Target-type: glob
  User: root
知道job>要想kill掉这个进程,需要使用saltutil模块的函数。kill有两个方式,一个野蛮(kill_job),一个温柔(term_job),对待saltstack如同女人嘛,我就温柔点。。#salt '*' saltutil.signal_job 20140211102239075243 15  更多内容,请查看下面两个链接,官方最实在,- -
  写的不是很好 - -,希望对大家有帮助
job链接 http://docs.saltstack.com/topics/jobs/index.htmlkill方式链接 http://docs.saltstack.com/ref/modules/all/salt.modules.saltutil.html
页: [1]
查看完整版本: saltstack jobs管理