SaltStck 搭建Web集群-Job 管理
admin
2023-05-30 12:22:16
0

在SaltStack默认的工作模式中,minion端会将数据直接返回给mysql数据库,这个过程中不需要master参与。由于提供更加灵活的管理,也可以在master端保存minion端的执行结果(job cache),master 端默认的保存地址是: /var/cache/salt/master/jobs。

job cache 在master端的配置文件中有对应的配置参数:

#cachedir: /var/cache/salt/master   保存的路径

#keep_jobs: 24    保存的时间24小时


配置Job cache直接写入数据库

可以通过过配置,直接将master端的cache写入数据库。

job cache默认的表结构和salt数据库的表结构相同,不过要是想和数据库的交互,需要在master端安装MySQL-python:

yum install MySQL-python -y

修改master的配置文件,在最后直接加上mysql的配置:

# vim /etc/salt/master
master_job_cache: mysql
mysql.host: '172.16.10.60'
mysql.user: 'salt'
mysql.pass: 'saltpw'
mysql.db: 'salt'
mysql.port: 3306


创建数据表: https://docs.saltstack.com/en/latest/ref/returners/all/salt.returners.mysql.html 

CREATE DATABASE  `salt`
  DEFAULT CHARACTER SET utf8
  DEFAULT COLLATE utf8_general_ci;USE `salt`;---- Table structure for table `jids`--DROP TABLE IF EXISTS `jids`;CREATE TABLE `jids` (
  `jid` varchar(255) NOT NULL,
  `load` mediumtext NOT NULL,
  UNIQUE KEY `jid` (`jid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE INDEX jid ON jids(jid) USING BTREE;---- Table structure for table `salt_returns`--DROP TABLE IF EXISTS `salt_returns`;CREATE TABLE `salt_returns` (
  `fun` varchar(50) NOT NULL,
  `jid` varchar(255) NOT NULL,
  `return` mediumtext NOT NULL,
  `id` varchar(255) NOT NULL,
  `success` varchar(10) NOT NULL,
  `full_ret` mediumtext NOT NULL,
  `alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  KEY `id` (`id`),
  KEY `jid` (`jid`),
  KEY `fun` (`fun`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;---- Table structure for table `salt_events`--DROP TABLE IF EXISTS `salt_events`;CREATE TABLE `salt_events` (`id` BIGINT NOT NULL AUTO_INCREMENT,`tag` varchar(255) NOT NULL,`data` mediumtext NOT NULL,`alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,`master_id` varchar(255) NOT NULL,PRIMARY KEY (`id`),KEY `tag` (`tag`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

数据库中创建授权用户:

grant all on salt.*  to salt@172.16.10.60 identified by 'saltpw';

重启salt-master:

# systemctl  restart salt-master

在master端执行:

# salt '*' test.ping

如果没有任何报错,说明执行成功,可以在mysql中查看数据是否写入:

MariaDB [salt]> use salt;select * from salt_returns\G

每执行一次,就会生成两条记录(两个minion).

这样,每次执行的job cache都会返回到数据库中。


salt 常用的管理命令:

# salt-run  jobs.list_jobs 查看历史执行的salt job-cache任务,从目录中去查询,而不是从数据库。

# salt-run jobs.lookup_jid 20161124144637116519  查看某个任务的执行结果


查看当前minion的状态:

# salt-run manage.status  


查看处于down状态的minion:

# salt-run manage-down


查看处于up状态的minion:

# salt-run manage-up


查看版本信息:

# salt-run manage.versions


在执行的时候返回JID,加 -v参数:

# salt '*' test.run -v



相关内容

热门资讯

手机品牌排行榜前十是哪几个? 手机品牌排行榜并非固定不变,而是基于市场销量、用户口碑及技术创新等多维度动态评估的结果,目前华为、苹...
SpaceX火箭残骸,撞上月球 北京时间5日下午2点35分,一枚自2025年起漂浮在地月空间的SpaceX公司猎鹰9号火箭二级残骸,...
德国高温致死1.19万人,为2... 新华社柏林8月6日电(记者车云龙 李超)德国罗伯特·科赫研究所6日发布报告说,截至7月26日,德国今...
敬一丹个人账号更新,此前曾置顶... 8月6日晚9点30分,前央视主持人敬一丹的个人微信公众号更新,发布题为《敬一丹|走过·立秋》的文章,...
部分美国AI模型在测试中被发现... 新华社伦敦8月5日电(记者张家伟)英国人工智能安全研究所发布的一份新报告显示,在该研究所实施的网络安...
聚焦联碱余热回收 共商节能降碳... 来源:中国日报网 近日,万润科技旗下万润新能源与双环科技、中国科学院理化技术研究所热力过程节能中心联...
存储暴涨不是坏事!WiFi 8... 来源:智能制造网 8月5日消息,本轮存储芯片的持续暴涨看起来全是负面影响,其实也不全是坏事,上游核心...
滴滴旗下99与巴西租车企业Mo... 新浪科技讯 8月6日下午消息,滴滴旗下巴西一站式本地生活服务平台99与巴西汽车租赁企业Movida签...
联黎部队:以军单日向黎发射11... △资料图联合国驻黎巴嫩临时部队(联黎部队)6日发表声明称,维和人员5日记录到以色列国防军共向黎巴嫩发...
常刷短视频的家长注意了!4招教... 当前,刷短视频已成为人们获取信息的重要途径。然而,部分账号为博取流量、推销课程或制造焦虑,通过AI合...