Saltstack_使用指南08_远程执行-返回程序
1. 主机规划
salt 版本
[root@salt100 ~]# salt --version
salt 2018.3. (Oxygen)
[root@salt100 ~]# salt-minion --version
salt-minion 2018.3. (Oxygen)
Returners文档
https://docs.saltstack.com/en/latest/ref/returners/index.html
Returner Modules文档
https://docs.saltstack.com/en/latest/ref/returners/all/index.html#all-salt-returners
注意事项
修改了master或者minion的配置文件,那么必须重启对应的服务。
2. 数据库配置
2.1. 数据库安装
根据规划在 salt100 部署mariadb 数据库
# 数据库安装
yum install -y mariadb mariadb-server
# 启动数据库
systemctl start mariadb.service # 如果有必要可以设置为开机自启动
# 在「其他」机器安装,用于测试远程是否可以连接
yum install -y mariadb
2.2. 字符集设置
配置文件也要修改
[root@salt100 ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is
Server version: 5.5.-MariaDB MariaDB Server Copyright (c) , , Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
rows in set (0.00 sec) MariaDB [(none)]> set character_set_database=utf8;
Query OK, rows affected (0.00 sec) MariaDB [(none)]> set character_set_server=utf8;
Query OK, rows affected (0.00 sec) MariaDB [(none)]> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
rows in set (0.01 sec)
2.3. 创建数据库、用户、授权
# 创建数据库
MariaDB [(none)]> CREATE DATABASE `salt`
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci;
Query OK, row affected (0.00 sec) MariaDB [(none)]> show create database salt;
+----------+---------------------------------------------------------------+
| Database | Create Database |
+----------+---------------------------------------------------------------+
| salt | CREATE DATABASE `salt` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+---------------------------------------------------------------+
row in set (0.00 sec) # 创建用户并授权
MariaDB [(none)]> grant all on salt.* to salt@'%' identified by 'salt'; # 用于远程访问
Query OK, rows affected (0.00 sec) MariaDB [(none)]> grant all on salt.* to salt@'salt100' identified by 'salt'; # 用于本地访问
Query OK, rows affected (0.00 sec) MariaDB [(none)]> flush privileges;
Query OK, rows affected (0.00 sec) MariaDB [(none)]> select user,host,password from mysql.user where user = 'salt';
+------+---------+-------------------------------------------+
| user | host | password |
+------+---------+-------------------------------------------+
| salt | % | *36F75ABC6D500DFA6E905046FD8BE5E115812DD0 |
| salt | salt100 | *36F75ABC6D500DFA6E905046FD8BE5E115812DD0 |
+------+---------+-------------------------------------------+
rows in set (0.00 sec)
本地或者远程登录测试
mysql -hsalt100 -usalt -psalt
# 或者
mysql -h172.16.1. -usalt -psalt
2.4. 创建表
相关文档
https://docs.saltstack.com/en/latest/ref/returners/all/salt.returners.mysql.html#module-salt.returners.mysql
use salt; --
-- Table structure for table `jids`
--
DROP TABLE IF EXISTS `jids`;
CREATE TABLE `jids` (
`jid` varchar() 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() NOT NULL,
`jid` varchar() NOT NULL,
`return` mediumtext NOT NULL,
`id` varchar() NOT NULL,
`success` varchar() 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() NOT NULL,
`data` mediumtext NOT NULL,
`alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
`master_id` varchar() NOT NULL,
PRIMARY KEY (`id`),
KEY `tag` (`tag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3. 安装依赖包
salt '*' state.single pkg.installed name=MySQL-python
或者
salt '*' cmd.run 'yum install -y MySQL-python'
4. minion返回结果到MySQL数据库
由 minion 端直接返回到 MySQL 数据库,不需要经过 master 端。
相关文档
https://docs.saltstack.com/en/latest/topics/jobs/external_cache.html
4.1. minion端存储架构
4.2. 方式一:所有Minion端都添加设置
[root@salt03 ~]# vim /etc/salt/minion
…………
mysql.host: 'salt100'
mysql.user: 'salt'
mysql.pass: 'salt'
mysql.db: 'salt'
mysql.port: [root@salt03 ~]# systemctl restart salt-minion.service # 修改了配置,需要重启 minion
4.3. 方式二:在master端添加设置
[root@salt100 ~]# vim /etc/salt/master
…………
ext_job_cache: mysql
mysql.host: 'salt100'
mysql.user: 'salt'
mysql.pass: 'salt'
mysql.db: 'salt'
mysql.port: [root@salt100 ~]# systemctl restart salt-master.service # 修改了配置,需要重启 master
4.4. 测试执行
# 说明: 带了 --return mysql ,适合上面的方式一,在minion端配置
# 如果没有带 --return mysql ,适合上面的方式二,在master端配置
[root@salt100 ~]# salt '*' test.ping --return mysql
salt03:
True
salt01:
True
salt02:
True
salt100:
True
[root@salt100 ~]# salt 'salt0*' cmd.run 'df -h' --return mysql
salt03:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G .0G 16G % /
devtmpfs 901M 901M % /dev
tmpfs 911M 12K 911M % /dev/shm
tmpfs 911M 9.6M 902M % /run
tmpfs 911M 911M % /sys/fs/cgroup
/dev/sda1 197M 113M 85M % /boot
tmpfs 183M 183M % /run/user/
salt01:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G .1G 16G % /
devtmpfs 901M 901M % /dev
tmpfs 911M 12K 911M % /dev/shm
tmpfs 911M 9.6M 902M % /run
tmpfs 911M 911M % /sys/fs/cgroup
/dev/sda1 197M 113M 85M % /boot
tmpfs 183M 183M % /run/user/
salt02:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G .0G 16G % /
devtmpfs 901M 901M % /dev
tmpfs 911M 12K 911M % /dev/shm
tmpfs 911M 9.6M 902M % /run
tmpfs 911M 911M % /sys/fs/cgroup
/dev/sda1 197M 113M 85M % /boot
tmpfs 183M 183M % /run/user/
4.5. 数据库表信息
5. master返回结果到MySQL数据库
数据从minion端返回到master之后,再由master写入MySQL
相关文档
https://docs.saltstack.com/en/latest/topics/jobs/external_cache.html
5.1. master端存储架构
5.2. master端添加如下配置
[root@salt100 ~]# vim /etc/salt/master
…………
master_job_cache: mysql
mysql.host: 'salt100'
mysql.user: 'salt'
mysql.pass: 'salt'
mysql.db: 'salt'
mysql.port: [root@salt100 ~]# systemctl restart salt-master.service # 修改了配置,需要重启 master
5.3. 测试执行
[root@salt100 ~]# salt '*' grains.items
[root@salt100 ~]# salt '*' cmd.run 'w'
5.4. 数据库表信息
Saltstack_使用指南08_远程执行-返回程序的更多相关文章
- Saltstack_使用指南07_远程执行-执行模块
1. 主机规划 远程执行教程文档 https://docs.saltstack.com/en/latest/topics/tutorials/modules.html 所有模块文档 https://d ...
- Saltstack_使用指南02_远程执行-验证
1. 主机规划 2. Master与哪些minion通信 2.1. Master与哪些minion正常通信 [root@salt100 ~]# salt '*' test.ping salt100: ...
- Saltstack_使用指南06_远程执行-指定目标
1. 主机规划 Targeting Minions文档 https://docs.saltstack.com/en/latest/contents.html 另请参见:自动化运维神器之saltstac ...
- Saltstack_使用指南09_远程执行-编写执行模块
1. 主机规划 salt 版本 [root@salt100 ~]# salt --version salt (Oxygen) [root@salt100 ~]# salt-minion --versi ...
- SaltStack远程执行-返回MySQL
上一篇:SaltStack远程执行-模块 参考官方文档:https://docs.saltstack.com/en/latest/ref/returners/all/salt.returners.my ...
- SaltStack入门篇(四)之深入理解SaltStack远程执行
1.目标 2.执行模块 3.返回 salt ‘*’ cmd.run ‘uptime’ 命令 目标 执行模块 执行模块参数 1.SlatStack远程执行–目标 执行目标:https://docs.sa ...
- 006-saltstack之远程执行
1.目标 2.执行模块 3.返回 salt ‘*’ cmd.run ‘uptime’ 命令 目标 执行模块 执行模块参数 1.SlatStack远程执行–目标 执行目标:https://docs.sa ...
- 批量远程执行linux服务器程序--基于paramiko(多线程版)
批量远程执行linux服务器程序--基于paramiko paramiko模块是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接 具体安装方法这里不写,网 ...
- 写自动更新程序出现"远程服务器返回错误: (404) 未找到"
在win2003配置后,在客户端运行时能够下载exe和dll文件,但是在更新lib文件时总是报“远程服务器返回错误: (404) 未找到”错误,不明白咋会出现这个问题,去网上一查,发现以下解决办法: ...
随机推荐
- extjs 动态加载列表,优化思路
功能截图 之前做法,先查询每一行的前4个字段,然后动态拼接出其他的字段,效率极低,以下是优化后的代码,供参考,只提供一个优化思路,授人以鱼不如授人以渔 后台Sql语句优化(语法仅支持Oracle) S ...
- 利用css将英文转为大写或小写
项目需要在后台接收的字段值为小写,但在页面上显示大写英文,但操作页面之后,最终传给后台的依旧是小写,所以就需要使用css转化一下即可 <li>This.is.a.book,全部转为大写:& ...
- vue-cli 项目启动过程分析
启动时没有加入路由 先npm run dev 把项目启动起来.看到 这个熟悉的界面. 首先看到: 这是项目的入口文件,一般引用其他的js,也都是在这个文件进行引用的. 渲染的时候,就是对这个id=&q ...
- 在标准实体特殊消息上注册插件及Dynamics CRM 2015中计算字段的使用
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复157或者20151005可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me! 前面的 插件系列博客教程 讲述了 ...
- Azkaban(3.x)编译安装使用
官网地址:https://azkaban.readthedocs.io Azkaban 有三种部署方式:单服务模式.2个服务模式.分布式多服务模式 简单实用仅需单服务模式即可 2个服务模式,需要配置m ...
- SQL Serve里DBA要去改变的3个配置选项
用安装向导安装了全新的SQL Server,最后你点击了完成按钮.哇噢~~~现在我们可以把我们的服务器进入生产了! 抱歉,那并不是真的,因为你的全新SQL Server默认配置是未优化的,一个合格的D ...
- python while语句
一.while 1.while 死循环 f=True while f: print(1) print(2) 2.while 活循环 ①.正序 count = 1 while count <= 5 ...
- bash的基本特性
1.命令历史 作用:查看之前使用的命令 关于命令历史的文件 每个用户家目录下面的.bash_history 在关机的时候,会自动写入一次(history -r 将内存中的命令历史写入文件) 关于命令历 ...
- Idea的Http测试支持(十二)
1. 在Tools > HTTP Client > Test RESTful Web Service 打开窗口 窗口信息如下: 2. 在Host里面填写接口请求的服务器ip地址和端口,pa ...
- (day65)作业
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...