首页 > 其他分享 >saltstack高级用法

saltstack高级用法

时间:2024-09-19 12:50:49浏览次数:3  
标签:jobs schedule minion syndic 高级 用法 master saltstack salt

一、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.highstate
    minutes: 60
    2、每分钟查询一次loadavage,每5分钟查询一下内存,并将结果输出到MySQL returner中
schedule:
  uptime:
    function: status.uptime
    seconds: 60
    returner: mysql
  meminfo:
    function: status.meminfo
    minutes: 5
    returner: 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

标签:jobs,schedule,minion,syndic,高级,用法,master,saltstack,salt
From: https://blog.csdn.net/happy_king_zi/article/details/142353404

相关文章

  • 从零开始学PostgreSQL (十四):高级功能
    目录1.简介2.视图3.外键4.事务5.窗口函数6.继承7.结论简介PostgreSQL是一个强大且开源的关系型数据库管理系统,以其稳定性、功能丰富性和对SQL标准的广泛支持而闻名。它不仅提供了传统的关系型数据库功能,如事务处理、外键约束和视图,还引入了许多高级特性,如窗口函数、事务和复......
  • C#——fixed用法
    1.fixed语句*固定用于指针操作的变量;*可防止垃圾回收器重新定位可移动变量,并声明指向该变量的指针;*固定变量的地址,在语句的持续时间内不会更改*fixed语句中,只能使用声明的指针,声明的指针是只读的,无法修改*fixed语句只能在不安全的上下文中使用staticvoidMain(str......
  • SQL Server全方位指南:从入门到高级详解
    本文将分为三大部分,逐步深入SQLServer的基础知识、进阶技巧和高级特性,旨在帮助从初学者到经验丰富的开发人员深入理解和使用SQLServer。一、入门篇1.1什么是SQLServer?SQLServer是由微软开发的关系型数据库管理系统(RDBMS),广泛应用于企业应用程序和数据分析领域。它提......
  • Acunetix v24.8 - 29 Aug 2024 高级版漏洞扫描器(最新版) 附Windows/Linux下载链接
    前言AcunetixPremium是一种Web应用程序安全解决方案,用于管理多个网站、Web应用程序和API的安全。集成功能允许您自动化DevOps和问题管理基础架构。AcunetixPremium:全面的Web应用程序安全解决方案Web应用程序对于企业和组织与客户、合作伙伴和员工的联系至关......
  • zipfile一些常用用法
    zipfile是Python标准库中的一个模块,用于创建、读取、写入和管理ZIP压缩文件。它可以处理文件压缩和解压缩,支持多种模式。以下是zipfile模块的一些常用用法及示例:1.创建ZIP文件并写入内容zipfile.ZipFile支持通过'w'模式创建ZIP文件并写入文件。importzipfile#......
  • C++入门基础知识75(高级)——【关于C++ Web 编程】
    成长路上不孤单......
  • 《深度学习》PyTorch 常用损失函数原理、用法解析
    目录一、常用损失函数1、CrossEntropyLoss(交叉熵损失)        1)原理    2)流程        3)用法示例2、L1Loss(L1损失/平均绝对误差)    1)原理        2)用法示例3、NLLLoss(负对数似然损失)    1)原理    2)用法示例......
  • 系统地掌握 SecureCRT 的基本使用;深入掌握 SecureCRT 的各项功能与技巧。深入掌握 Sec
    secureCRT.exe是一个用于安全远程访问的终端仿真程序。它主要用于通过SSH、Telnet和其他协议连接到远程计算机和网络设备,以实现安全的命令行操作。功能和用途安全连接:通过SSH加密协议提供安全的远程访问,保护数据传输。终端仿真:支持多种终端类型,如VT100、VT102、......
  • 9--Maven高级 详解
    目录分模块设计与开发继承与聚合继承与聚合对比私服分模块设计与开发分模块设计就是将项目按照功能/结构拆分成若干个子模块,方便项目的管理维护、拓展,也方便模块键的相互调用、资源共享。实体类只用到了lombok依赖utils使用JWT令牌、阿里云OSS、lombok、WEB开发起步......
  • Unity UI控件用法汇总
    利用LoopListView实现Banner循环列表,且默认中间节点为默认节点:  1.给ScrollRect节点添加LoopListView组件,并勾选ItemSnapEnable为true。  2.通过LoopListView.InitListView初始化时,totalCount需要传-1.  3.OnGetItemByIndex的回调参数index以(Int32.MinValue,Int32.MaxVa......