前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Saltstack_使用指南08_远程执行-返回程序

Saltstack_使用指南08_远程执行-返回程序

作者头像
踏歌行
发布2020-10-15 14:49:04
3800
发布2020-10-15 14:49:04
举报
文章被收录于专栏:踏歌行的专栏踏歌行的专栏

1. 主机规划

salt 版本
代码语言:javascript
复制
1 [root@salt100 ~]# salt --version
2 salt 2018.3.3 (Oxygen)
3 [root@salt100 ~]# salt-minion --version
4 salt-minion 2018.3.3 (Oxygen)
Returners文档
代码语言:javascript
复制
https://docs.saltstack.com/en/latest/ref/returners/index.html

Returner Modules文档

代码语言:javascript
复制
https://docs.saltstack.com/en/latest/ref/returners/all/index.html#all-salt-returners

注意事项

修改了master或者minion的配置文件,那么必须重启对应的服务。

2. 数据库配置

2.1. 数据库安装

根据规划在 salt100 部署mariadb 数据库

代码语言:javascript
复制
1 # 数据库安装
2 yum install -y mariadb mariadb-server    
3 # 启动数据库
4 systemctl start mariadb.service   # 如果有必要可以设置为开机自启动
5 # 在「其他」机器安装,用于测试远程是否可以连接
6 yum install -y mariadb  

2.2. 字符集设置

配置文件也要修改

代码语言:javascript
复制
 1 [root@salt100 ~]# mysql
 2 Welcome to the MariaDB monitor.  Commands end with ; or \g.
 3 Your MariaDB connection id is 2
 4 Server version: 5.5.60-MariaDB MariaDB Server
 5 
 6 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
 7 
 8 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 9 
10 MariaDB [(none)]> show variables like '%char%';  
11 +--------------------------+----------------------------+
12 | Variable_name            | Value                      |
13 +--------------------------+----------------------------+
14 | character_set_client     | utf8                       |
15 | character_set_connection | utf8                       |
16 | character_set_database   | latin1                     |
17 | character_set_filesystem | binary                     |
18 | character_set_results    | utf8                       |
19 | character_set_server     | latin1                     |
20 | character_set_system     | utf8                       |
21 | character_sets_dir       | /usr/share/mysql/charsets/ |
22 +--------------------------+----------------------------+
23 8 rows in set (0.00 sec)
24 
25 MariaDB [(none)]> set character_set_database=utf8;  
26 Query OK, 0 rows affected (0.00 sec)
27 
28 MariaDB [(none)]> set character_set_server=utf8;  
29 Query OK, 0 rows affected (0.00 sec)
30 
31 MariaDB [(none)]> show variables like '%char%';  
32 +--------------------------+----------------------------+
33 | Variable_name            | Value                      |
34 +--------------------------+----------------------------+
35 | character_set_client     | utf8                       |
36 | character_set_connection | utf8                       |
37 | character_set_database   | utf8                       |
38 | character_set_filesystem | binary                     |
39 | character_set_results    | utf8                       |
40 | character_set_server     | utf8                       |
41 | character_set_system     | utf8                       |
42 | character_sets_dir       | /usr/share/mysql/charsets/ |
43 +--------------------------+----------------------------+
44 8 rows in set (0.01 sec)

2.3. 创建数据库、用户、授权

代码语言:javascript
复制
 1 # 创建数据库
 2 MariaDB [(none)]> CREATE DATABASE  `salt`
 3          DEFAULT CHARACTER SET utf8
 4          DEFAULT COLLATE utf8_general_ci;
 5 Query OK, 1 row affected (0.00 sec)
 6 
 7 MariaDB [(none)]> show create database salt;
 8 +----------+---------------------------------------------------------------+
 9 | Database | Create Database                                               |
10 +----------+---------------------------------------------------------------+
11 | salt     | CREATE DATABASE `salt` /*!40100 DEFAULT CHARACTER SET utf8 */ |
12 +----------+---------------------------------------------------------------+
13 1 row in set (0.00 sec)
14 
15 # 创建用户并授权
16 MariaDB [(none)]> grant all on salt.* to salt@'%' identified by 'salt';  # 用于远程访问
17 Query OK, 0 rows affected (0.00 sec)
18 
19 MariaDB [(none)]> grant all on salt.* to salt@'salt100' identified by 'salt';   # 用于本地访问
20 Query OK, 0 rows affected (0.00 sec)
21 
22 MariaDB [(none)]> flush privileges; 
23 Query OK, 0 rows affected (0.00 sec)
24 
25 MariaDB [(none)]> select user,host,password from mysql.user where user = 'salt';
26 +------+---------+-------------------------------------------+
27 | user | host    | password                                  |
28 +------+---------+-------------------------------------------+
29 | salt | %       | *36F75ABC6D500DFA6E905046FD8BE5E115812DD0 |
30 | salt | salt100 | *36F75ABC6D500DFA6E905046FD8BE5E115812DD0 |
31 +------+---------+-------------------------------------------+
32 2 rows in set (0.00 sec)

本地或者远程登录测试

代码语言:javascript
复制
1 mysql -hsalt100 -usalt -psalt
2 # 或者
3 mysql -h172.16.1.100 -usalt -psalt

2.4. 创建表

相关文档

代码语言:javascript
复制
https://docs.saltstack.com/en/latest/ref/returners/all/salt.returners.mysql.html#module-salt.returners.mysql
代码语言:javascript
复制
 1 use salt;
 2 
 3 --
 4 -- Table structure for table `jids`
 5 --
 6 DROP TABLE IF EXISTS `jids`;
 7 CREATE TABLE `jids` (
 8   `jid` varchar(255) NOT NULL,
 9   `load` mediumtext NOT NULL,
10   UNIQUE KEY `jid` (`jid`)
11 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
12 
13 --
14 -- Table structure for table `salt_returns`
15 --
16 DROP TABLE IF EXISTS `salt_returns`;
17 CREATE TABLE `salt_returns` (
18   `fun` varchar(50) NOT NULL,
19   `jid` varchar(255) NOT NULL,
20   `return` mediumtext NOT NULL,
21   `id` varchar(255) NOT NULL,
22   `success` varchar(10) NOT NULL,
23   `full_ret` mediumtext NOT NULL,
24   `alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
25   KEY `id` (`id`),
26   KEY `jid` (`jid`),
27   KEY `fun` (`fun`)
28 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
29 
30 --
31 -- Table structure for table `salt_events`
32 --
33 DROP TABLE IF EXISTS `salt_events`;
34 CREATE TABLE `salt_events` (
35 `id` BIGINT NOT NULL AUTO_INCREMENT,
36 `tag` varchar(255) NOT NULL,
37 `data` mediumtext NOT NULL,
38 `alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
39 `master_id` varchar(255) NOT NULL,
40 PRIMARY KEY (`id`),
41 KEY `tag` (`tag`)
42 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

3. 安装依赖包

代码语言:javascript
复制
1 salt '*' state.single pkg.installed name=MySQL-python    
2 或者
3 salt '*' cmd.run 'yum install -y MySQL-python'    

4. minion返回结果到MySQL数据库

由 minion 端直接返回到 MySQL 数据库,不需要经过 master 端。

相关文档

代码语言:javascript
复制
https://docs.saltstack.com/en/latest/topics/jobs/external_cache.html

4.1. minion端存储架构

4.2. 方式一:所有Minion端都添加设置

代码语言:javascript
复制
1 [root@salt03 ~]# vim /etc/salt/minion 
2 …………
3 mysql.host: 'salt100'
4 mysql.user: 'salt'
5 mysql.pass: 'salt'
6 mysql.db: 'salt'
7 mysql.port: 3306
8 
9 [root@salt03 ~]# systemctl restart salt-minion.service  # 修改了配置,需要重启 minion

4.3. 方式二:在master端添加设置

代码语言:javascript
复制
 1 [root@salt100 ~]# vim /etc/salt/master 
 2 …………
 3 ext_job_cache: mysql
 4 mysql.host: 'salt100'
 5 mysql.user: 'salt'
 6 mysql.pass: 'salt'
 7 mysql.db: 'salt'
 8 mysql.port: 3306
 9 
10 [root@salt100 ~]# systemctl restart salt-master.service   # 修改了配置,需要重启 master

4.4. 测试执行

代码语言:javascript
复制
 1 # 说明: 带了 --return mysql ,适合上面的方式一,在minion端配置
 2 # 如果没有带  --return mysql ,适合上面的方式二,在master端配置
 3 [root@salt100 ~]# salt '*' test.ping --return mysql  
 4 salt03:
 5     True
 6 salt01:
 7     True
 8 salt02:
 9     True
10 salt100:
11     True
12 [root@salt100 ~]# salt 'salt0*' cmd.run 'df -h' --return mysql  
13 salt03:
14     Filesystem      Size  Used Avail Use% Mounted on
15     /dev/sda3        18G  2.0G   16G  12% /
16     devtmpfs        901M     0  901M   0% /dev
17     tmpfs           911M   12K  911M   1% /dev/shm
18     tmpfs           911M  9.6M  902M   2% /run
19     tmpfs           911M     0  911M   0% /sys/fs/cgroup
20     /dev/sda1       197M  113M   85M  58% /boot
21     tmpfs           183M     0  183M   0% /run/user/1001
22 salt01:
23     Filesystem      Size  Used Avail Use% Mounted on
24     /dev/sda3        18G  2.1G   16G  12% /
25     devtmpfs        901M     0  901M   0% /dev
26     tmpfs           911M   12K  911M   1% /dev/shm
27     tmpfs           911M  9.6M  902M   2% /run
28     tmpfs           911M     0  911M   0% /sys/fs/cgroup
29     /dev/sda1       197M  113M   85M  58% /boot
30     tmpfs           183M     0  183M   0% /run/user/1001
31 salt02:
32     Filesystem      Size  Used Avail Use% Mounted on
33     /dev/sda3        18G  2.0G   16G  12% /
34     devtmpfs        901M     0  901M   0% /dev
35     tmpfs           911M   12K  911M   1% /dev/shm
36     tmpfs           911M  9.6M  902M   2% /run
37     tmpfs           911M     0  911M   0% /sys/fs/cgroup
38     /dev/sda1       197M  113M   85M  58% /boot
39     tmpfs           183M     0  183M   0% /run/user/1001

4.5. 数据库表信息

5. master返回结果到MySQL数据库

数据从minion端返回到master之后,再由master写入MySQL

相关文档

代码语言:javascript
复制
https://docs.saltstack.com/en/latest/topics/jobs/external_cache.html

5.1. master端存储架构

5.2. master端添加如下配置

代码语言:javascript
复制
 1 [root@salt100 ~]# vim /etc/salt/master 
 2 …………
 3 master_job_cache: mysql
 4 mysql.host: 'salt100'
 5 mysql.user: 'salt'
 6 mysql.pass: 'salt'
 7 mysql.db: 'salt'
 8 mysql.port: 3306
 9 
10 [root@salt100 ~]# systemctl restart salt-master.service   # 修改了配置,需要重启 master

5.3. 测试执行

代码语言:javascript
复制
1 [root@salt100 ~]# salt '*' grains.items
2 [root@salt100 ~]# salt '*' cmd.run 'w' 

5.4. 数据库表信息

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 主机规划
    • Returner Modules文档
      • 注意事项
      • 2. 数据库配置
        • 2.1. 数据库安装
          • 2.2. 字符集设置
            • 2.3. 创建数据库、用户、授权
              • 本地或者远程登录测试
            • 2.4. 创建表
              • 相关文档
              • 相关文档
          • 3. 安装依赖包
          • 4. minion返回结果到MySQL数据库
            • 4.1. minion端存储架构
              • 4.2. 方式一:所有Minion端都添加设置
                • 4.3. 方式二:在master端添加设置
                  • 4.4. 测试执行
                    • 4.5. 数据库表信息
                      • 相关文档
                  • 5. master返回结果到MySQL数据库
                    • 5.1. master端存储架构
                      • 5.2. master端添加如下配置
                        • 5.3. 测试执行
                          • 5.4. 数据库表信息
                          相关产品与服务
                          云数据库 SQL Server
                          腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档