安装saltstack
环境: Master:192.168.117.145 (centos7、python2.7) Minion1:192.168.117.215 (centos7) Minion2:192.168.117.231 (2008R2)
安装master
关闭selinux
getenforce ##查看selinux的状态
setenforce 0 ##关闭selinux
关闭防火墙
Systemctl stop firewalld ##关闭防火墙
安装epel源
安装master和minion都需要配置epel,官方地址:https://fedoraproject.org/wiki/EPEL
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
安装并启动master
可以使用包管理器(centos:yum,ubuntu:apt-get),也可以使用pip安装,具体可以参考此处使用yum进行安装,其它可以参考官网说明https://docs.saltstack.com/en/latest/topics/installation/index.html
yum install -y salt-master
systemctl enable salt-master.service ##开机自启
systemctl start salt-master
配置/etc/hosts文件
192.168.117.145 Master
192.168.117.215 Node-1
192.168.117.167 R2
ping Node-1以验证配置结果。
安装minion
1.安装 其它安装方式参考官网说明,windows agent链接安装包下载地址: https:///#windows
yum install -y salt-minion
2.指定master地址 修改文件/etc/salt/minion
master: 192.168.46.163
Id:Node-1 ##这里定义后,master认证证书那里就以这个名称为主,默认这里是注释状态。
启动minion
systemctl enable salt-minion.service
systemctl start salt-minion
master节点Salt-KEY认证
minion启动完成后,master节点使用salt-key可以看到
[root@localhost ~]# salt-key
Accepted Keys:
Denied Keys:
Unaccepted Keys: ##不合格KEY
Node-1
Rejected Keys:
配置认证 在服务端上操作
salt-key -a Node-1
[root@localhost ~]# salt-key
Accepted Keys: ##接受的KEY
Node-1
Denied Keys:
Unaccepted Keys:
Rejected Keys:
说明:-a :accept ,-A:accept-all,-d:delete,-D:delete-all。可以使用 salt-key 命令查看到已经签名的客户端。此时我们在客户端的 /etc/salt/pki/minion 目录下面会多出一个minion_master.pub 文件。
测试验证 示例1: salt '*' test.ping //检测通讯是否正常,也可以指定其中一个 'Node-1'

示例2: salt '*' cmd.run 'df -h' //远程执行命令

说明: 这里的 * 必须是在 master 上已经被接受过的客户端,可以通过 salt-key 查到,通常是我们已经设定的 id 值。
关于这部分内容,它支持通配、列表以及正则。 比如两台客户端 web10、web11, 那我们可以写成 salt 'web*' salt 'web1[02]' salt -L 'web10,web11' salt -E 'web(10|11)' 等形式,使用列表,即多个机器用逗号分隔,而且需要加-L,使用正则必须要带-E选项。
master装web界面
下载halite 地址:https:///saltstack/halite
[root@localhost ~]# cd /var/www
生成index.html文件,解压并进入halite目录下
[root@localhost www]# cd halite/halite/
[root@localhost www]# ./genindex.py -C
安装salt-api
yum install salt-api
创建用户salt-api的用户(非root)
useradd -M -s /sbin/nologin slsapi
echo 'slsapi' | passwd slsapi --stdin
配置master 修改文件/etc/salt/master
rest_cherrypy:
host: 0.0.0.0
port: 8080
debug: true
static: /root/halite/halite
app: /root/halite/halite/index.html
external_auth:
pam:
admin:
- .*
- '@runner'
- '@wheel'
重启master
systemctl restart salt-master
配置salt-api启动项,设置api开机自启
systemctl enable salt-api.service
修改服务文件
vi /usr/lib/systemd/system/salt-api.service
修改ExecStart项
ExecStart=/usr/bin/python /var/www/halite/halite/server_bottle.py -d -C -l debug -s cherrypy
启动salt-api
systemctl daemon-reload
systemctl start salt-api
登录测试:http://127.0.0.1:8080/app/console 通过salt/salt登陆即可

















