Salt是一个基础平台管理工具。SaltStack 采用 C/S模式,server端就是salt的master,client端就是minion,minion与master之间通过ZeroMQ消息队列通信。master监听4505和4506端口,4505为master和minion认证通信端口,4506为master用来发送命令或者接收minion的命令执行返回信息。
?
- SaltStack常用模块
- SaltStack提供了非常多的功能模块,以便于对操作系统的基础功能和常用工具的操作。
1:pkg模块 ?:是包管理,包括增删更新。
2:file模块 ???:管理文件操作,包括同步文件、设置文件权限和所属用户组、删除文件等操作。
3:cmd模块 :是在Minion上执行命令或者脚本。
4:user模块 ?:管理系统账户操作。
5:service模块 ???:管理系统服务操作
6:cron模块 ????:管理cron服务操作
?
部署环境
角色 | 主机名 | IP |
---|---|---|
master | master.saltstack.com | 192.168.200.128 |
minion | web01.saltstack.com | 192.168.200.129 |
minion | web02.saltstack.com | 192.168.200.130 |
?
操作步骤
SaltStack安装
1:修改主机名
# vim /etc/hostname三台主机分别为:master.saltstack.com ???//(管理)web01.saltstack.com ????//(被管理)web02.saltstack.com ????//(被管理)
2:修改三台hosts文件
# vim /etc/hosts192.168.200.128 master.saltstack.com192.168.200.129 web01.saltstack.com192.168.200.130 web02.saltstack.com
3:安装
# 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 ?????//被管理端安装
4:管理端配置
# vim /etc/salt/masterinterface: 192.168.200.128 ???//15行 监听地址改为本地IP............auto_accept: True ???????????????//215 ?证书认证............file_roots: ?????????????????????????//416行 站点目录开启 ???base: ????????- /srv/salt............nodegroups: ?????????????????????????//710行 组分类 ???group1: ‘web01.saltstack.com‘ ????group2: ‘web02.saltstack.com‘............pillar_opts: True ?????????????//552行 ?pillar开启pillar_roots: ????????????????????//529行 ????base: ???????- /srv/pillar# cat /etc/salt/master | grep -v ^$ | grep -v ^# ??????//查看修改好的配置项
?
5:创建salt文件根目录和pillar目录
# mkdir /srv/salt# mkdir /srv/pillar# systemctl start salt-master.service ???//开启服务# netstat -natp | egrep ‘4505|4506‘ ??????//查看4505、4506端口
?
6:被管理端配置
# vim /etc/salt/minionmaster: 192.168.200.128 ????//16行 指定管理端IPid: web01.saltstack.com ?????//78行 指定被控的主机名 (另外一台为 web02.saltstack.com)# systemctl start salt-minion.service ?//开启服务
?
7:在管理端测试 。 ?‘*‘ ??指的是所有主机
# salt ‘*‘ test.ping ????//查看通信状态# salt ‘*‘ cmd.run ‘df -h‘ ??//查看所有被管理端的挂载情况# salt ‘web01.saltstack.com‘ cmd.run ‘df -h‘ ??//查看指定主机的挂载情况# salt ‘*‘ grains.items ??//查看grains值# salt ‘*‘ pillar.items ??//查看pillar(动态信息)# salt-key ?//查看已经被接受过的客户端
?
?Saltstack配置管理安装Apache
注意:‘*‘ ?表示所有客户端执行apache模块# vim /srv/salt/top.slsbase: ‘*‘: ????- 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
在管理端执行刷新state配置命令
# salt ‘*‘ state.highstate
?
?- 去minion验证下httpd安装成功
部署SaltStack及批量安装httpd服务
原文地址:http://blog.51cto.com/13630803/2155031