当前位置: 首页 > news >正文

saltstack高级用法

一、saltstack的高级用法

  一、job管理

  1、job简介
  • Jid:job id,格式为%Y%m%d%H%M%S%f
  • master在下发指令消息时,会附带上产生的Jid,minion在接收到指令开始执行时,会在本地的cachedir(默认是/var/cache/salt/minion/)下的proc目录产生以Jid命名的文件,用于在执行过程中master查看当前任务的执行情况。指令执行完毕后将结果传送给master后,删除该临时文件
  • master将minion的执行结果存放在本地 /var/cache/salt/master/jobs目录,默认缓存24小时(可以通过修改master配置文件keepjobs进行调整)

  测试:salt ‘*’ test.ping -v #可以查看到执行的详细过程,包括jid

  

  2、job的基本管理

    1、saltutil模块的job管理方法

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

1 saltutil.running           #查看minion当前正在运行的jobs
2 saltutil.find_job <jid>    #查看指定jid的job(minion正在运行的jobs)
3 saltutil.signal_job <jid> <single>   #给指定的jid进程发送信号
4 saltutil.term_job <jid>       #终止指定的jid进程(信号为15)
5 saltutil.kill_job <jid>         ##终止指定的jid进程(信号为9)
    2、runner中的job管理方法

  https://docs.saltstack.com/en/latest/topics/jobs/index.html#the-jobs-runner

1 salt-run jobs.active          #查看所有minion当前正在运行的jobs(在所有minion上运行saltutil.running)
2 salt-run jobs.lookup_jid <jid>    #从master jobs cache 中查询指定jid的运行结果
3 salt-run jobs.list_jobs       #列出当前master jobs cache 中的所有job

  二、schedule

  1、schedule简介
  • salt 0.12.0版本加入schedule子系统,用于master/minion定期执行schedule中配置任务
  • schedule可以配置在master配置文件、minion配置文件或pillar中
  • master端配置schedule运行runner,minion端配置schedule为远程执行
  • schedule支持returner,目前可以将schedule执行结果发送到指定的returner中
  2、schedule常用实例
    1、每60分钟minion执行highstate(配置在minion配置文件或pillar中)
schedule:highstate:function: state.highstateminutes: 60
    2、每分钟查询一次loadavage,每5分钟查询一下内存,并将结果输出到MySQL returner中
schedule:uptime:function: status.uptimeseconds: 60returner: mysqlmeminfo:function: status.meminfominutes: 5returner: mysql

  更多内容请参照官网

  Job Management

  三、salt proxy——syndic 

    https://www.cnblogs.com/bfmq/p/7919609.html

  http://blog.51cto.com/openlinuxfly/1742780

  1、架构图如下

  

  2、salt syndic简介

  salt syndic接口是一个强大的工具,这个歌工具允许建立salt命令拓扑结构。salt的基本设置是一个salt master指挥一组salt minion。syndic接口是一种特殊的直通minion,它运行在一个master上且连接到另外一个master,然后syndic minion所连接的master就可以控制连接到运行syndic的master上的minion。

  • salt syndic是一个mater,其维护master地址配置为syndic服务器的地址的minion
  • salt syndic是一个minion,其配置文件会配置syndic_master的地址,其上层的master称为MasterOfMaster
  • syndic下的minions的key由syndic主机来进行accept,MasterOfMaster主机只维护minion及syndic账户级的key
  • MasterOfMaster只传送指令给syndic,syndic并将其继续向下传送,syndic获取到minions的执行结果后,将其结果传送给MasterOfMaster
  • syndic自身需要配置file_roots,MasterOfMaster并不会传送文件到syndic上
   3、salt syndic部署、使用

  http://www.cnblogs.com/kaishirenshi/p/9420790.html

  若master有直接管理的机器,需要删除掉 salt-key -d salt-client-01 -y

  修改minion的指定的master:直接修改hosts文件即可,将minion分组管理

  重新minion,然后在相对应的master进行验证:salt-key -L 和salt-key -A -y

  修改相关的配置需要重启服务syndic

  若是key的问题,mater先执行salt-key -D -y删除所有的认证,然后将所有的pki目录删除;minion(因为保存了master的key,所有需要删除)删除cd /etc/salt && rm -rf minion_id pki,重新认证:从master开始重启,然后重启代理和相对应minion,最后进行认证salt-key(master执行),将认证加入salt-key -A -y;测试 salt ‘*’ test.ping

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • MATLAB基础:5脚本与函数
  • 鸿萌数据恢复服务:Synology Hybrid RAID 的容错、优势和数据恢复
  • 【Java算法】二叉树的深搜
  • 数据结构修炼——顺序表和链表的区别与联系
  • 【目标检测】labelimg图像标注软件的使用流程
  • Vue3:reactive丢失响应式,数据有更新但表单没有更新
  • 完美解决 Array 方法 (map/filter/reduce) 不按预期工作 的正确解决方法,亲测有效!!!
  • Python模块和包:标准库模块(os, sys, datetime, math等)②
  • 邮件营销:助力企业转换客户,提升曝光率
  • Redis实践之缓存:设置缓存过期策略
  • web基础+http协议+httpd详细配置
  • docker中图形化界面的转发
  • 大模型技术新手指南:从零开始的全方位教程
  • 二叉树算法
  • Vivado FIR IP 详解 (一)
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • CSS相对定位
  • Javascript弹出层-初探
  • laravel 用artisan创建自己的模板
  • markdown编辑器简评
  • NSTimer学习笔记
  • Promise初体验
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • uni-app项目数字滚动
  • vue:响应原理
  • 翻译:Hystrix - How To Use
  • 分类模型——Logistics Regression
  • 服务器从安装到部署全过程(二)
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 基于webpack 的 vue 多页架构
  • 简单实现一个textarea自适应高度
  • 理清楚Vue的结构
  • 前端代码风格自动化系列(二)之Commitlint
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 新书推荐|Windows黑客编程技术详解
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ​ubuntu下安装kvm虚拟机
  • $ git push -u origin master 推送到远程库出错
  • $jQuery 重写Alert样式方法
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (BAT向)Java岗常问高频面试汇总:MyBatis 微服务 Spring 分布式 MySQL等(1)
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (Git) gitignore基础使用
  • (js)循环条件满足时终止循环
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (zt)最盛行的警世狂言(爆笑)
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (算法)Travel Information Center
  • (转)visual stdio 书签功能介绍
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • (轉貼) UML中文FAQ (OO) (UML)
  • (自用)网络编程