SaltStack 是一个基于 Python 开发的一套架构配置管理工具,采用 C/S模式,server端就是salt的master,client端就是minion,minion与master之间经过ZeroMQ消息队列通讯。master监听4505和4506端口,4505为master和minion认证通讯端口,4506为master用来发送命令或者接收minion的命令执行返回信息。node
1:pkg模块 :是包管理,包括增删更新
2:file模块 :管理文件操做,包括同步文件、设置文件权限和所属用户组、删除文件等操做
3:cmd模块 :是在Minion上执行命令或者脚本
4:user模块 :管理系统帐户操做
5:service模块 :管理系统服务操做
6:cron模块 :管理cron服务操做web
角色 | 主机名 | IP地址 |
---|---|---|
Master | master | 192.168.6.117 |
Minion | web01 | 192.168.6.130 |
Minion | web02 | 192.168.6.129 |
# vim /etc/hostname 三台主机分别为: master //(管理) web01 //(被管理) web02 //(被管理) # init 6 //重启系统 让主机名生效
# vim /etc/hosts 192.168.6.117 master 193.168.6.130 web01 192.168.6.129 web02
# systemctl stop firewalld # setenforce 0 //关闭防火墙 # yum install -y epel-release # yum install -y salt-master //管理端安装 # yum install -y epel-release # yum install -y salt-minion //被管理端安装
四、管理端配置apache
# vim /etc/salt/master interface: 192.168.6.117 //15行 监听地址改成本地IP ............ auto_accept: True //215 证书认证 ............ file_roots: //416行 站点目录开启 base: - /srv/salt ............ pillar_opts: True //552行 pillar开启 pillar_roots: //529行 base: - /srv/pillar ............ nodegroups: //710行 组分类 group1: 'web01.saltstack.com' group2: 'web02.saltstack.com' # cat /etc/salt/master | grep -v ^$ | grep -v ^# //查看修改好的配置项
# mkdir /srv/salt # mkdir /srv/pillar # systemctl start salt-master.service //开启服务 # netstat -natp | egrep '4505|4506' //查看450五、4506端口
# vim /etc/salt/minion master: 192.168.6.117 //16行 指定管理端IP id: web01 //78行 指定被控的主机名 (另一台为 web02) # systemctl start salt-minion.service //开启服务
# salt '*' test.ping //查看通讯状态 # salt '*' cmd.run 'df -h' //查看全部被管理端的挂载状况 # salt 'web01' cmd.run 'df -h' //查看指定主机的挂载状况 # salt '*' grains.items //查看grains值(静态信息) # salt '*' pillar.items //查看pillar值(动态信息) # salt-key //查看已经被接受过的客户端
# vim /srv/salt/top.sls base: '*': - apache
# vim /srv/salt/apache.sls //注意apache-service 是自定义的id名 apache-service: pkg.installed: - names: - httpd - httpd-devel service.running: - name: httpd - enable: True
# systemctl restart salt-master # salt '*' state.highstate