saltstack远程执行returners

在这里插入图片描述


  • Return组件为Saltstack系统对执行Minion返回后的数据存储或者返回给其他程序,支持多种存储方式,例如MySQL、MongoDB、等,对每次的salt操作进行记录。

实例配置:

  • 将Return存储在MySQL DB中(return data to a mysql server)
[root@saltstack01 ~]# systemctl stop firewalld.service 
[root@saltstack01 ~]# setenforce 0
[root@saltstack02 ~]# systemctl stop firewalld.service 
[root@saltstack02 ~]# setenforce 0

1.下载MariaDB-server MySQL-python

在这里插入图片描述

[root@saltstack01 salt]# yum -y install mariadb-server

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
.....
Complete!
[root@saltstack01 salt]# yum -y install MySQL-python
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
......
Complete!
[root@saltstack01 salt]# systemctl enable mariadb.service   //开机自启
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@saltstack01 salt]# systemctl start mariadb.service    //启动mariadb服务
[root@saltstack01 salt]# mysql_secure_installation    //设置mysql安全选项
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
 
     Set root password? [Y/n] 
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!
 .......
 Thanks for using MariaDB!

2.修改配置文件

[root@saltstack01 salt]# vim /etc/salt/master 

在这里插入图片描述

[root@saltstack01 salt]# systemctl restart salt-master.service    //重启salt-master服务

3.配置数据库

[root@saltstack01 salt]# mysql -u root -p123                         //登陆mysql数据库
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 11
Server version: 5.5.60-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database `salt`     //创建salt数据库
    -> default character set utf8
    -> default collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> use `salt`;       //使用salt数据库
Database changed
MariaDB [salt]> --
MariaDB [salt]> -- Table structure for table `jids`
MariaDB [salt]> --
MariaDB [salt]> DROP TABLE IF EXISTS `jids`;
Query OK, 0 rows affected, 1 warning (0.02 sec)

MariaDB [salt]> CREATE TABLE `jids` (        //创建表
    ->   `jid` varchar(255) NOT NULL,
    ->   `load` mediumtext NOT NULL,
    ->   UNIQUE KEY `jid` (`jid`)
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.19 sec)

MariaDB [salt]> --
MariaDB [salt]> -- Table structure for table `salt_returns`
MariaDB [salt]> --
MariaDB [salt]> DROP TABLE IF EXISTS `salt_returns`;
Query OK, 0 rows affected, 1 warning (0.00 sec)

MariaDB [salt]> 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;
Query OK, 0 rows affected (0.43 sec)

MariaDB [salt]> --
MariaDB [salt]> -- Table structure for table `salt_events`
MariaDB [salt]> --
MariaDB [salt]> DROP TABLE IF EXISTS `salt_events`;
Query OK, 0 rows affected, 1 warning (0.00 sec)

MariaDB [salt]> 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;
Query OK, 0 rows affected (0.01 sec)

MariaDB [salt]> grant all on salt.* to salt@'192.168.85.%' identified by 'salt';    //赋权
Query OK, 0 rows affected (0.05 sec)

MariaDB [salt]> grant all on salt.* to salt@'localhost' identified by 'salt';
Query OK, 0 rows affected (0.00 sec)

MariaDB [salt]> flush privileges;    //更新
Query OK, 0 rows affected (0.00 sec)
MariaDB [salt]> exit
Bye

4.测试

[root@saltstack01 salt]# salt 'saltstack02' test.ping    //测试远程执行结果
saltstack02:
    True
  
[root@saltstack01 salt]# salt 'saltstack02' sys.doc pkg.install      //查看包安装命令的文档
'pkg.install:'
          Install the passed package(s), add refresh=True to clean the yum database
    before package is installed.
    ............
 Returns a dict containing the new package names and versions::
 
         {'<package>': {'old': '<old-version>',
                       'new': '<new-version>'}}
                       
[root@saltstack01 salt]# mysql -u root -p123    //登陆数据库查看返回结果
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 24
Server version: 5.5.60-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [salt]> use salt;
Database changed
MariaDB [salt]> select * from salt_returns\G
........
*************************** 2. row ***************************
       fun: test.ping
       jid: 20190213183534426256
    return: true
        id: saltstack02
   success: 1
  full_ret: {"fun_args": [], "jid": "20190213183534426256", "return": true, "retcode": 0, "success": true, "cmd": "_return", "_stamp": "2019-02-13T10:35:35.280034", "fun": "test.ping", "id": "saltstack02"}
alter_time: 2019-02-13 18:35:35
........

*************************** 9. row ***************************
       fun: saltutil.find_job
       jid: 20190213191400800572
    return: {}
        id: saltstack02
   success: 1
  full_ret: {"fun_args": ["20190213191334448985"], "jid": "20190213191400800572", "return": {}, "retcode": 0, "success": true, "cmd": "_return", "_stamp": "2019-02-13T11:14:01.735627", "fun": "saltutil.find_job", "id": "saltstack02"}
alter_time: 2019-02-13 19:14:01
12 rows in set (0.00 sec)
........

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值