基本环境
角色 系统 主机名 IP
Master/Minion Centos 7 Master 192.168.1.107
Minion Centos 7 Minion 192.168.1.128
以下操作在所有节点执行
修改主机名(以Master为例)
[root@localhost ~]# vim /etc/hostname
Master
关闭防火墙
[root@Master ~]# systemctl stop firewalld.service [root@Master ~]# systemctl disable firewalld.service
关闭selinux
[root@Master ~]# vim /etc/sysconfig/selinux
修改
SELINUX=disabled
配置解析
[root@Master ~]# vim /etc/hosts
添加
Master 192.168.1.107
Minion 192.168.1.128
安装源
[root@Master ~]# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm[root@Master ~]# rpm -ivh epel-release-latest-7.noarch.rpm
在Master端安装包
[root@Master ~]# yum -y install salt-master salt-minion
启动程序并设置为开机自启动
[root@Master ~]# systemctl start salt-master[root@Master ~]# systemctl start salt-minion[root@Master ~]# systemctl enable salt-master[root@Master ~]# systemctl enable salt-minion
修改配置文件(将客户端指向Master)
[root@Master ~]# vim /etc/salt/minion
修改(第16行)
master: 192.168.1.107
重启minion服务
[root@Master ~]# systemctl restart salt-minion
在Minion端安装包
[root@Minion ~]# yum -y install salt-minion
启动程序并设置为开机自启动
[root@Minion ~]# systemctl start salt-minion[root@Minion ~]# systemctl enable salt-minion
修改配置文件(将客户端指向Master)
[root@Minion ~]# vim /etc/salt/minion
修改(第16行)
master: 192.168.1.107
重启minion服务
[root@Minion ~]# systemctl restart salt-minion
客户端连接服务端
首先Minion会发送一个请求(key)到服务端,服务端需要同意Minion才可以控制
Master端同意Minion端请求
同意所有
[root@Master ~]# salt-key -A
The following keys are going to be accepted:
Unaccepted Keys:
Master
Minion
Proceed? [n/Y] y
Key for minion Master accepted.
Key for minion Minion accepted.
查看当前的key
[root@Master ~]# salt-key
Accepted Keys:
Master
Minion
Denied Keys:
Unaccepted Keys:
Rejected Keys:
相关命令
支持通配符 salt-key -a linux*
删除所有salt-key -D
通配符删除单个 salt-key -d
功能
远程功能
[root@Master ~]# salt '*' test.ping
Master:
True
Minion:
True
详解: salt语法,test是模块,ping是模块的方法
[root@Master ~]# salt '*' cmd.run 'uptime'
Master:
15:54:33 up 1:26, 3 users, load average: 0.00, 0.14, 0.24
Minion:
15:54:33 up 1:26, 3 users, load average: 0.08, 0.03, 0.06
详解:run模块万能模块,执行所有命令可以
Hppd配置管理
创建salt配置文件存放文路径
[root@Master ~]# mkdir -p /srv/salt
修改master主配置文件(设置salt配置文件存放)
[root@Master ~]# vim /etc/salt/master
(去注释#,注意格式)
file_roots:
base:
- /srv/salt/
重启master服务
[root@Master ~]# systemctl restart salt-master
编辑apache.sls文件
[root@Master ~]# cd /srv/salt/[root@Master salt]# vim apache.sls
apache-install:
pkg.installed:
- names:
- httpd
- httpd-devel
apache-server:
service.running:
- name: httpd
- enable: Ture
- reload: Ture
注意:千万要注意格式尤其空格!!!
执行
[root@Master salt]# salt '*' state.sls apache
设置高级状态(可以指定哪个主机执行哪个状态)
[root@Master salt]# vim top.sls
base:
'*':
- apache
执行高级状态
[root@Master salt]# salt '*' state.highstate