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) 未找到”错误,不明白咋会出现这个问题,去网上一查,发现以下解决办法: ...
随机推荐
- Winform中在使用VS+svn进行协同开发时添加引用时的相对路径和绝对路径的问题
场景 使用Visual Studio 开发Winform程序,使用SVN进行项目版本管理. 在添加引用时,会出现在A电脑中添加了绝对路径的引用,在B电脑中就会出现找不到 并且将此引用标识为?的状态. ...
- 那些你不知道的Mac截屏功能
今天介绍Mac的截图功能,如果你以为Shift + Command + 3 / 4就是Mac全部的截屏功能的话,那你小看Mac了.它远比你想得强大. 1.Shift + Cmd + 3 ——截取全屏 ...
- selinux disable
临时关闭: [root@localhost ~]# getenforceEnforcing [root@localhost ~]# setenforce 0[root@localhost ~]# ge ...
- SSH远程管理
目录 SSH远程管理 ssh功能 SSH相关命令 Xshell连接不上虚拟机 scp命令 SSH验证方式 优化 免交互expect[扩展] 免交互sshpass[扩展] 简易跳板机 小结 SSH远程管 ...
- 201871010114-李岩松《面向对象程序设计(java)》第十四周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- MySQL Explain详解 查看mysql语句详情
在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有 ...
- Java编译器的2点优化
优化1 对于byte/short/char三种类型来说,如果右侧赋值的数值没有超过范围,那么javac编译器将会自动隐含地为我们补上一个(byte)(short)(char). 如果没有超过左侧的范围 ...
- JDBC数据库连接(二)
要想在编程语言中操作数据库,就必须与数据库建立连接. 建立JDBC连接的步骤如下: 导入JDBC包:使用Java语言的import语句在Java代码开头位置导入所需的类. 注册JDBC驱动程序:使JV ...
- 央行辟谣未发行“DC/EP”和“DCEP” 法定数字货币仍在测试阶段
http://www.sohu.com/a/354709423_100157595 近期,中国央行再度就法定数字货币发布公告,指出目前系统仍处于研究测试过程中,市场上交易“DC/EP”或“DCEP”均 ...
- 《移动WEB前端高级开发实践@www.java1234.com.pdf》
HTTP服务器: http-server 3.6.4 利用 Performance API 分析网站性能 页面加载生命周期 4. CSS3 伪类.伪元素, 看https://www.runoob.co ...