Saltstack_使用指南13_runner的job和manage与execution的saltutil

1.主机规划

服务器名称操作系统版本内网IP外网IP(模拟)Hostname部署模块
salt100CentOS7.5172.16.1.10010.0.0.100salt100salt-master、salt-minion
salt01CentOS7.5172.16.1.1110.0.0.11salt01salt-minion
salt02CentOS7.5172.16.1.1210.0.0.12salt02salt-minion
salt03CentOS7.5172.16.1.1310.0.0.13salt03salt-minion
salt 版本
[root@salt100 ~]# salt --version
salt 2018.3.3 (Oxygen)
[root@salt100 ~]# salt-minion --version
salt-minion 2018.3.3 (Oxygen)
job 管理文档
https://docs.saltstack.com/en/latest/topics/jobs/index.html	
runner modules文档

Salt runners类似于Salt execution modules,但是前者是在master端执行的,后者是在minion端执行的。

https://docs.saltstack.com/en/latest/ref/cli/salt-run.html	
https://docs.saltstack.com/en/latest/ref/runners/index.html	
https://docs.saltstack.com/en/latest/ref/runners/all/index.html	
execution modules文档
https://docs.saltstack.com/en/latest/ref/modules/all/index.html	
https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.saltutil.html	
注意事项

修改了master或者minion的配置文件,那么必须重启对应的服务。

2. salt-run jobs常用方法

# 返回正在活动中的jobs信息
salt-run jobs.active	
# 列出所有可检测的jobs和相关functions
salt-run jobs.list_jobs		
# 根据 jid 列出指定的job
salt-run jobs.list_job 20190111160734604439		
# 返回以前执行job的打印输出【回看当时job输出的信息】
salt-run jobs.lookup_jid 20190111170928354082	
示例信息如下
[root@salt100 ~]# salt-run jobs.active
20190111170928354082:
    ----------
    Arguments:
        - df -h && sleep 30
    Function:
        cmd.run
    Returned:
    Running:
        |_
          ----------
          salt01:
              2640
    StartTime:
        2019, Jan 11 17:09:28.354082
    Target:
        salt01
    Target-type:
        glob
    User:
        root
20190111170930696130:
    ----------
    Arguments:
        - whoami && sleep 30
    Function:
        cmd.run
    Returned:
    Running:
        |_
          ----------
          salt01:
              2646
    StartTime:
        2019, Jan 11 17:09:30.696130
    Target:
        salt01
    Target-type:
        glob
    User:
        root
[root@salt100 ~]# salt-run jobs.lookup_jid 20190111170928354082  # 显示信息如下
salt01:
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda3        18G  2.1G   16G  12% /
    devtmpfs        901M     0  901M   0% /dev
    tmpfs           911M   12K  911M   1% /dev/shm
    tmpfs           911M  9.6M  902M   2% /run
    tmpfs           911M     0  911M   0% /sys/fs/cgroup
    /dev/sda1       197M  113M   85M  58% /boot
    tmpfs           183M     0  183M   0% /run/user/1001

3. salt-run manage常用方法

salt的常规管理功能,比如查看哪些hosts上线或下线

salt-run manage.list_state
salt-run manage.alived 
salt-run manage.status
salt-run manage.down
salt-run manage.up
salt-run manage.versions

4. saltutil模块

# 返回minion端正在执行salt 进程的数据
salt '*' saltutil.running 
# 杀掉指定 jid【jobID】进程
salt '*' saltutil.kill_job 20190111180228662382
示例信息
[root@salt100 ~]# salt '*' saltutil.running
salt03:
salt01:
    |_
      ----------
      arg:
          - whoami && sleep 300
      fun:
          cmd.run
      jid:
          20190111175718092279
      pid:
          2825
      ret:
      tgt:
          salt01
      tgt_type:
          glob
      user:
          root
salt02:
salt100:
[root@salt100 ~]# salt '*' saltutil.kill_job 20190111180228662382
salt03:
salt02:
salt100:
salt01:
    Signal 9 sent to job 20190111180228662382 at pid 2882 

5. 实战应用

5.1. master执行

[root@salt100 master]# salt 'salt01' cmd.run 'whoami && sleep 300'  # 执行后,然后 Ctrl+C 终端
^C
Exiting gracefully on Ctrl-c
This job's jid is: 20190111223139879350
The minions may not have all finished running and any remaining minions will return upon completion. To look up the return data for this job later, run the following command:

salt-run jobs.lookup_jid 20190111223139879350
[root@salt100 master]# 
[root@salt100 master]# salt '*' cmd.run 'whoami && sleep 300'  # 第二次执行

5.2. 查看当前活动的jobs

通过如下方式查看可知,虽然之前 Ctrl + C 了,但是minion端还是在执行相应的进行。

5.2.1. 方式一

[root@salt100 ~]# salt-run jobs.active  
20190111223139879350:
    ----------
    Arguments:
        - whoami && sleep 300
    Function:
        cmd.run
    Returned:
    Running:
        |_
          ----------
          salt01:
              3458
    StartTime:
        2019, Jan 11 22:31:39.879350
    Target:
        salt01
    Target-type:
        glob
    User:
        root
20190111223234549650:
    ----------
    Arguments:
        - whoami && sleep 300
    Function:
        cmd.run
    Returned:
    Running:
        |_
          ----------
          salt02:
              2840
        |_
          ----------
          salt03:
              2835
        |_
          ----------
          salt100:
              40929
        |_
          ----------
          salt01:
              3500
    StartTime:
        2019, Jan 11 22:32:34.549650
    Target:
        *
    Target-type:
        glob
    User:
        root

5.2.2. 方式二

[root@salt100 ~]# salt '*' saltutil.running  
salt100:
    |_
      ----------
      arg:
          - whoami && sleep 300
      fun:
          cmd.run
      jid:
          20190111223234549650
      pid:
          40929
      ret:
      tgt:
          *
      tgt_type:
          glob
      user:
          root
salt02:
    |_
      ----------
      arg:
          - whoami && sleep 300
      fun:
          cmd.run
      jid:
          20190111223234549650
      pid:
          2840
      ret:
      tgt:
          *
      tgt_type:
          glob
      user:
          root
salt03:
    |_
      ----------
      arg:
          - whoami && sleep 300
      fun:
          cmd.run
      jid:
          20190111223234549650
      pid:
          2835
      ret:
      tgt:
          *
      tgt_type:
          glob
      user:
          root
salt01:
    |_
      ----------
      arg:
          - whoami && sleep 300
      fun:
          cmd.run
      jid:
          20190111223139879350
      pid:
          3458
      ret:
      tgt:
          salt01
      tgt_type:
          glob
      user:
          root
    |_
      ----------
      arg:
          - whoami && sleep 300
      fun:
          cmd.run
      jid:
          20190111223234549650
      pid:
          3500
      ret:
      tgt:
          *
      tgt_type:
          glob
      user:
          root

5.3. kill 对应的salt进程

[root@salt100 ~]# salt '*' saltutil.kill_job 20190111223139879350 
salt02:
salt03:
salt100:
salt01:
    Signal 9 sent to job 20190111223139879350 at pid 3458

微信公众号

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值