Salt Master外部Job Cache配置
原文链接:http://pengyao.org/saltstack-master-external-job-cache.html
Salt Master外部Job Cache配置
SaltStack 2014.7之前, Minion端的执行结果想存储在外部系统中, 需要借助returner进行配置. 而returner的工作方式是由minion端直接连接对应的returner, 在分布式环境中由于网络等限制,该方式并不友好.
而在Master端, Job Cache会以文件的形式存储在Master本地磁盘, 对第三方系统并不友好. 基于此, 之前有分享过 基于Salt Event系统构建Master端returner , 需要启动另外一个进程, 进行监听Salt Event接口, 并将结果存储在第三方系统中. 刚好看到2014.7.0中master端增加了 master_job_cache 参数, 可以直接外放Job Cache, 就做个测试, 测试下这个功能.
环境说明
Salt Version: 2014.7.0
OS: CentOS 6.5 X86_64 (with EPEL)
本次测试结果将存储在MySQL中, 为了方便测试, 已在Master本地部署了MySQL Server
开工
Note
以下操作如非特别注明, 均在Master端进行
前置配置
安装MySQLdb依赖:
yum -y install MySQL-python
配置本次测试需要使用的数据库及用户:
# 创建salt数据库mysql -e 'create database salt'# 创建用于连接salt数据库的用户mysql -e '"grant all on salt.* to salt@localhost identified by "salt_pass';# 将数据库配置添加至master配置文件中
创建用于存储Job的数据库表结构:
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;-- -- 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;
配置Master
将MySQL连接权限等信息添加到Salt Master配置文件中:
echo -e "\n\n# MySQL\nmysql.host: 'localhost'\nmysql.user: 'salt'\nmysql.pass: 'salt_pass'\nmysql.db: 'salt'\nmysql.port: 3306" >> /etc/salt/master
配置master_job_cache选项, 以使将Job结果存储在MySQL中:
echo -e "\n\n# Master Job Cache\nmaster_job_cache: mysql" >> /etc/salt/master
重启Salt Master, 以使配置生效:
service salt-master restart
测试
对主机执行test.ping:
salt '*' test.ping -v
输出结果:
Executing job with jid 20141120060202308159 -------------------------------------------minion-01.example.com:True
查询MySQL jids表数据:
mysql salt -e 'select * from jids\G'
输出结果:
*************************** 1. row *************************** jid: 20141120060202308159 load: {"tgt_type": "glob", "jid": "20141120060202308159", "cmd": "publish", "tgt": "*", "kwargs": {"show_timeout": false, "show_jid": false}, "ret": "", "user": "sudo_vagrant", "arg": [], "fun": "test.ping"}
查询MySQL salt_returns表数据:
mysql salt -e 'select * from salt_returns\G'
输出结果:
*************************** 1. row *************************** fun: test.ping jid: 20141120060202308159 return: true id: minion-01.example.com success: 1 full_ret: {"fun_args": [], "jid": "20141120060202308159", "return": true, "retcode": 0, "success": true, "cmd": "_return", "_stamp": "2014-11-20T06:02:02.533850", "fun": "test.ping", "id": "minion-01.example.com"} alter_time: 2014-11-20 06:02:02
Job执行结果已经按照之前的配置存储到了MySQL中, 达到预期效果
转载于:https://blog.51cto.com/7870873/1640236
Salt Master外部Job Cache配置相关推荐
- OpenStack环境搭建(二:Fuel Master的安装及配置)
实验要求: 完成Virtual box平台安装,会应用相关操作: 在virtual box虚拟平台上部署Fuel Master节点: 在virtual box虚拟平台上部署计算节点Computer: ...
- nginx cache 配置
nginx cache 配置 Nginx从0.7.48版本开始,支持了类似Squid的缓存功能.这个缓存是把URL及相关组合当作Key,用md5编码哈希后保存在硬盘上,所以它 可以支持任意URL链接, ...
- 瑞萨e2studio(15)----外部中断定时器配置输入捕获测量频率
瑞萨e2studio.15--外部中断&定时器配置输入捕获测量频率 概述 视频教学 csdn课程 完整代码下载 样品申请 硬件准备 开发板 新建工程 工程模板 保存工程路径 芯片配置 工程模板 ...
- 【MM配置】Master Data 主数据的配置
物料主数据中的设定主要包括一下几个部分: ⭐ Configuring the Material Master ⭐ Field Selection ⭐ Basic Setting ⭐ Setting f ...
- docker安装mysql并配置,Docker安装MySql-挂载外部数据和配置
在上一篇中<在CentOS7中使用Docker安装MySql>中介绍了怎样在Docker中安装Mysql,但存在两个问题: 1.用户密码和字符集等的设置,需要安装完MySql后,进入到My ...
- nginx proxy cache配置参数解读
为什么80%的码农都做不了架构师?>>> 序 本文主要解析一下nginx ngx_http_proxy_module中的cache相关配置参数. proxy_cache 名称 ...
- Spring Cache 配置及一些问题的解决
配置 1. applicationContext.xml <beans xmlns="http://www.springframework.org/schema/beans" ...
- mysql master host_MySQL5.5.28配置master-maser复制,master-host等参数不用了
今天在测试环境中配置两个MySQL的复制,按照以前的方法,修改my.cnf之后启动,报错: [root@XXXX ~]# /etc/init.d/mysql restart ERROR! MySQL ...
- django 缓存cache配置注意事项
最近在个人项目优化的过程中,发现自己重新踩了一下缓存配置的坑,转念一想索性在博客上留存一份资料以备日后随时反查,也给各位正在学习或使用django的朋友提个醒. 配置缓存CACHES 关于配置这块,目 ...
最新文章
- mxnet 显存配置,cpu过高配置
- mat opencv 修改roi_OpenCV中如何提取不规则ROI区域
- visual studio 重命名项目和程序集名称
- 2022-03-17
- MySQL 常用SQL优化
- 小米答题题库_拼多多果园答题题库74(每日更新)
- 2021年Q2服饰行业季度洞察报告
- 胡斌、张礼礤会摧毁我们的信任
- Android Studio中删除所有的断点
- JavaWeb那些事儿(二)--java中类、成员和方法的访问权限
- java day07【Scanner类、Random类、ArrayList 类】
- Elsevier(爱思唯尔)论文模板下载地址及说明
- RS232 DB9 公头 母头 串口引脚定义
- pom.xml 注释
- ERD-ONLINE 免费在线数据库建模工具
- VTK(The Visualization Toolkit)加载stl模型
- 什么是你最关键的人脉
- MTK平台产线生产标记位功能
- 201671010412 郭佳 英文文本统计分析
- 开发一个完整的iOS直播app必须技能