SaltStck 搭建Web集群-Job 管理

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介:

在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


 本文转自 酥心糖 51CTO博客,原文链接:http://blog.51cto.com/tryingstuff/1876210


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
消息中间件 监控
RabbitMQ的Web管理页面
RabbitMQ的Web管理页面
1352 0
|
SQL 分布式计算 Hadoop
Azkaban【基础 01】核心概念+特点+Web界面+架构+Job类型(一篇即可入门Azkaban工作流调度系统)
【2月更文挑战第6天】Azkaban【基础 01】核心概念+特点+Web界面+架构+Job类型(一篇即可入门Azkaban工作流调度系统)
1337 0
|
Java 应用服务中间件 Shell
Nginx+Keepalived+Tomcat 实现Web高可用集群
Nginx+Keepalived+Tomcat 实现Web高可用集群
466 0
|
SQL Java
20:基于EL与JSTL的产品管理页-Java Web
20:基于EL与JSTL的产品管理页-Java Web
193 5
|
前端开发 JavaScript Java
计算机Java项目|基于Web的足球青训俱乐部管理后台系统的设计与开发
计算机Java项目|基于Web的足球青训俱乐部管理后台系统的设计与开发
268 0
|
负载均衡 算法 应用服务中间件
负载均衡技术在Web服务器集群中的应用
【8月更文第28天】随着互联网的发展和用户对Web服务需求的增长,单台服务器很难满足大规模访问的需求。为了提高系统的稳定性和扩展性,通常会采用Web服务器集群的方式。在这种架构中,负载均衡器扮演着至关重要的角色,它能够合理地分配客户端请求到不同的后端服务器上,从而实现资源的最优利用。
509 2
【Azure Web Job】Azure Web Job执行Powershell脚本报错 The term 'Select-AzContext' is not recognized as the name
【Azure Web Job】Azure Web Job执行Powershell脚本报错 The term 'Select-AzContext' is not recognized as the name
146 3
|
Shell PHP Windows
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
252 0
|
监控 Java 应用服务中间件
【Azure 应用服务】App Service中抓取 Web Job 的 DUMP 办法
【Azure 应用服务】App Service中抓取 Web Job 的 DUMP 办法
149 0
|
应用服务中间件 中间件 缓存
Web应急响应0基础讲解国赛信安管理与评估二阶段
Web应急响应0基础讲解国赛信安管理与评估二阶段
Web应急响应0基础讲解国赛信安管理与评估二阶段