【LWei-运维】SaltStack内网环境安装及配置

一、环境配置

操作系统:Redhat7(Master、minion)、windows10(minion)

Saltstack版本:Latest release: 2018.3.3 (October 24, 2018)

二、准备工作

1、远程下载yum仓库(通过可访问外网的服务器下载后,将下载文件夹拷贝至内网服务器)

# 1、设置一个Web server
# (1)安装Apache HTTP Server:
sudo yum install httpd
# (2)启动http服务
sudo systemctl start httpd
 
# 2、下载并配置本地仓库(以Saltstack Latest release: 2018.3.3 (October 24, 2018)、redhat7为例)
# Saltstack Latest release: 2018.3.3 (October 24, 2018)
sudo mkdir -p /var/www/html/cloudera-repos

sudo wget --recursive --no-parent --no-host-directories https://repo.saltstack.com/yum/redhat/7.0/x86_64/latest/ -P /var/www/html/saltstack-repos

sudo wget --recursive --no-parent --no-host-directories https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm -P /var/www/html/saltstack-repos

sudo chmod -R ugo+rX /var/www/html/saltstack-repos
 
# 3、测试(查看显示是否正常)
http://<web_server>/saltstack-repos/ #<web_server>以实际信息为准

2、配置yum仓库信息(内网机器)

# 1、创建yum源配置文件
vi /etc/yum.repos.d/saltstack.repo
 
# 内容
[saltstack]
name=saltstack
baseurl=http://<web_server>/saltstack-repos/yum/redhat/7.0/x86_64/latest/
enabled=1
gpgcheck=0
 
# 2、导入库签名GPG密钥
sudo yum install https://<web_server>/saltstack-repos/salt-repo-latest-2.el7.noarch.rpm 

# 3、刷新软件仓库缓存
sudo yum clean expire-cache

三、安装及配置

# 安装
# 一、Linux
# 1、安装master
sudo yum install salt-master

# 2、安装minion
sudo yum install salt-minion

# 二、windows
# 1、下载minion客户端
AMD64:https://repo.saltstack.com/windows/Salt-Minion-2018.3.3-Py2-AMD64-Setup.exe
x86:https://repo.saltstack.com/windows/Salt-Minion-2018.3.3-Py2-x86-Setup.exe

# 2、安装:双机exe文件,按默认选项安装。
# 配置
# 一、配置IP信息
# 1、Linux
# (1)master
vi /etc/salt/master
- #interface: 0.0.0.0
+ interface: 192.168.1.5

# (2)minion
vi /etc/salt/minion
- #master: salt
+ master: 192.168.1.5

# 2、windows
# minion
配置文件目录:C:\salt\conf\minion
- #master: salt
+ master: 192.168.1.5


# 二、配置秘钥
# 1、查询Master秘钥
[root@saltstack-master /]# salt-key -F master
Local Keys:
master.pem:  8c:02:de:8d:81:2f:e7:b4:e1:4c:e5:ce:f4:08:cf:0d:9b:5e:e8:84:53:fd:fb:21:0b:68:29:ad:be:07:c8:86
master.pub:  53:bd:d9:9c:48:09:4d:4a:89:97:6e:e4:e1:2d:40:26:17:53:c1:e2:85:62:f6:df:b6:51:32:45:3d:de:4e:51

# 2、复制master.pub秘钥信息

# 3、修改minion配置信息,关键字信息master_finger(Linux、windows信息相同)
master_finger: '53:bd:d9:9c:48:09:4d:4a:89:97:6e:e4:e1:2d:40:26:17:53:c1:e2:85:62:f6:df:b6:51:32:45:3d:de:4e:51'

# 4、minion自动认证:修改master配置文件,关键字auto_accept
auto_accept: True

# 5、验证
[root@saltstack-master /]# salt-key -L
Accepted Keys:
IMAC-liuwei
saltstack-master
saltstack-minion
Denied Keys:
Unaccepted Keys:
Rejected Keys:

# 三、指定saltstack文件根目录位置,用于文件分发操作
# 修改master配置文件,关键字file_roots
file_roots:
    base:
      - /srv/salt

# 四、记录执行返回结果:master配置文件信息
# 1、MySQL(数据库表创建,参考后续代码块)
master_job_cache: mysql // 自动记录
mysql.host: '<mysql_server>'
mysql.user: '<name>'
mysql.pass: '<password>'
mysql.db: '<db_name>'
mysql.port: 3306

# 2、Kafka
returner.kafka.hostnames: 192.168.1.5
returner.kafka.topic: 'saltResult'


/*
Saltstack返回数据库表信息
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for jids
-- ----------------------------
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;

-- ----------------------------
-- Records of jids
-- ----------------------------

-- ----------------------------
-- Table structure for salt_events
-- ----------------------------
DROP TABLE IF EXISTS `salt_events`;
CREATE TABLE `salt_events` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `tag` varchar(255) NOT NULL,
  `data` mediumtext NOT NULL,
  `alter_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `master_id` varchar(255) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `tag` (`tag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of salt_events
-- ----------------------------

-- ----------------------------
-- Table structure for salt_returns
-- ----------------------------
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 NULL DEFAULT CURRENT_TIMESTAMP,
  KEY `id` (`id`),
  KEY `jid` (`jid`),
  KEY `fun` (`fun`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of salt_returns
-- ----------------------------

四、使用

# salt模块命令
salt [options] '<target>' <function> [arguments]
如: salt '*' test.ping

五、问题

<待续>

猜你喜欢

转载自blog.csdn.net/u013153374/article/details/86479932
今日推荐