• 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正在执行的任务?

    文档 https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.saltutil.html#module-salt.modules.saltutil

    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的版本

  • 相关阅读:
    三数之和
    167
    二分搜索树
    687
    索引堆
    二分查找 leetcode704
    leetcode 56合并区间 java
    leetcode 1046
    堆的数据结构java
    leetcode 493
  • 原文地址:https://www.cnblogs.com/shhnwangjian/p/6048891.html
Copyright © 2020-2023  润新知