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

1.主机规划

服务器名称 操作系统版本 内网IP 外网IP(模拟) Hostname 部署模块
salt100 CentOS7.5 172.16.1.100 10.0.0.100 salt100 salt-master、salt-minion
salt01 CentOS7.5 172.16.1.11 10.0.0.11 salt01 salt-minion
salt02 CentOS7.5 172.16.1.12 10.0.0.12 salt02 salt-minion
salt03 CentOS7.5 172.16.1.13 10.0.0.13 salt03 salt-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

微信公众号

发布了129 篇原创文章 · 获赞 128 · 访问量 67万+

猜你喜欢

转载自blog.csdn.net/woshizhangliang999/article/details/89918669