系统:ubuntu 17.04

官方文档https://docs.saltstack.com/en/latest/ref/returners/all/salt.returners.mysql.html

master
(salt-master , mysql,python2.7-mysql)

syndic
(salt-master,mysql-client,salt-syndic,python2.7-mysql)

minion
(salt-minion,mysql-client,python2.7-mysql)

master

#cat /etc/salt/master|grep -v "#" |grep -v "^ *$"
ipv6: False
interface: 192.168.90.177
auto_accept: True
state_top: top.sls
order_masters: True
return: mysql

################################mysql##################################
CREATE DATABASE salt
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci;

USE salt;

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;

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;

DROP TABLE IF EXISTS salt_events;
CREATE TABLE salt_events (
id BIGINT NOT NULL AUTO_INCREMENT,
tag varchar(255) NOT NULL,
data varchar(1024) NOT NULL,
alter_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
KEY tag (tag)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

mysql> use salt
mysql> show tables;
+----------------+
| Tables_in_salt |
+----------------+
| jids |
| salt_events |
| salt_returns |
+----------------+

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

(此为ubuntu上的mysql)
root@jy-KVM1:~# cat /etc/mysql/mysql.conf.d/mysqld.cnf |grep bind
#bind-address = 127.0.0.1 #注释掉,允许其他机器访问

#########################################################################

syndic

#cat /etc/salt/master|grep -v "#" |grep -v "^ *$"
ipv6: False
auto_accept: True
file_roots:
base:

  • /etc/salt/base
    prod:
  • /etc/salt/prod
    syndic_master: 192.168.90.177

minion

#cat /etc/salt/minion|grep -v "#" |grep -v "^ *$"
master: 192.168.90.178
id: 192.168.90.179
mysql.host: '192.168.90.177'
mysql.user: 'salt'
mysql.pass: 'salt'
mysql.db: 'salt'
mysql.port: 3306

在master上执行

#salt '*' test.ping

查看数据库

6. row
fun: test.ping
jid: 20171204130021772990
return: true
id: 192.168.90.179
success: 1
full_ret: {"fun_args": [], "jid": "20171204130021772990", "return": true, "retcode": 0, "success": true, "fun": "test.ping", "id": "192.168.90.179"}
alter_time: 2017-12-04 13:00:23
6 rows in set (0.01 sec)

ERROR:
No query specified

mysql>