zoukankan      html  css  js  c++  java
  • salt-job管理

    在SaltStack里执行任何一个操作都会在master上产生一个jid号,minion端会在cache目录下的proc目录创建一个以jid为名称的文件,这个文件里内容就是此次操作的记录,当操作完成后自动删除。

    salt踢狗salt-run和moudle两种方式来管理JOB

    1.通过salt-run来管理job

    [root@node2 redis-4.0.10]# salt-run -d |grep jobs
    'jobs.active:'
        Return a report on all actively running jobs from a job id centric
            salt-run jobs.active
    'jobs.list_job:'
            salt-run jobs.list_job 20130916125524463507
    'jobs.list_jobs:'
        List all detectable jobs and associated functions
            salt-run jobs.list_jobs
    'jobs.lookup_jid:'
            salt-run jobs.lookup_jid 20130916125524463507
            salt-run jobs.lookup_jid 20130916125524463507 outputter=highstate
    'jobs.print_job:'
            salt-run jobs.print_job 20130916125524463507
    

    2.可以看到此次的任务号。

    [root@node2 redis-4.0.10]# salt 'node1' cmd.run 'sleep 100;whoami'
    ^CExiting on Ctrl-C
    This job's jid is:
    20181227213754124155
    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:
    salt-run jobs.lookup_jid 20181227213754124155

    3.查看这个job的运行结果

    [root@node2 redis-4.0.10]# salt-run jobs.lookup_jid 20181227213754124155
    node1:
    root

    4.查看这个JOB的详细记录

    [root@node2 redis-4.0.10]#  salt-run jobs.list_job 20181227213754124155
    Arguments:
        - sleep 100;whoami
    Function:
        cmd.run
    Minions:
        - node1
    Result:
        ----------
        node1:
            ----------
            return:
                root
    StartTime:
        2018, Dec 27 21:37:54.124155
    Target:
        node1
    Target-type:
        glob
    User:
        root
    jid:
        20181227213754124155
    

    二。通过saltstack module 来管理JOB

    2.1 查看module的用法

    [root@node2 redis-4.0.10]# salt * sys.doc saltutil |grep job
    'saltutil.find_cached_job:'
        Return the data for a specific cached job id
            salt '*' saltutil.find_cached_job <job id>
    'saltutil.find_job:'
        Return the data for a specific job id
            salt '*' saltutil.find_job <job id>
    'saltutil.kill_job:'
        Sends a kill signal (SIGKILL 9) to the named salt job's process
            salt '*' saltutil.kill_job <job id>
            salt '*' saltutil.runner jobs.list_jobs
    'saltutil.signal_job:'
        Sends a signal to the named salt job's process
            salt '*' saltutil.signal_job <job id> 15
    'saltutil.term_job:'
        Sends a termination signal (SIGTERM 15) to the named salt job's process
            salt '*' saltutil.term_job <job id>
    

    2.2. 接着用这个例子去测试

    [root@node2 redis-4.0.10]# salt 'node1' cmd.run 'sleep 100;whoami'

    [root@node2 redis-4.0.10]# salt 'node1' saltutil.find_job 20181227220403774993

    可以直接kill这个job

    [root@node2 redis-4.0.10]# salt 'node1' saltutil.kill_job 20181227220403774993
    node1:
    Signal 9 sent to job 20181227220656122140 at pid 143225

  • 相关阅读:
    作为管理者的基本职责
    websocket接口自动化的封装
    locust性能测试的使用
    git的协作提交流程
    关于接口自动化的实施步骤
    K8S的组件梳理
    jenkins pipeline中,失败后获取异常不中断业务
    pipline在执行的docker镜像中添加hosts
    sonar搭建
    django
  • 原文地址:https://www.cnblogs.com/zhaobin-diray/p/10187774.html
Copyright © 2011-2022 走看看