SaltStack简介
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 //(被管理)
# init 6 //重启系统 让主机名生效
2:修改三台hosts文件
# vim /etc/hosts
192.168.200.128 master.saltstack.com
192.168.200.129 web01.saltstack.com
192.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/master
interface: 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 ^# //查看修改好的配置项
部署SaltStack及批量安装httpd服务
5:创建salt文件根目录和pillar目录
# mkdir /srv/salt
# mkdir /srv/pillar
# systemctl start salt-master.service //开启服务
# netstat -natp | egrep '4505|4506' //查看4505、4506端口
部署SaltStack及批量安装httpd服务
6:被管理端配置
# vim /etc/salt/minion
master: 192.168.200.128 //16行 指定管理端IP
id: 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及批量安装httpd服务部署SaltStack及批量安装httpd服务
Saltstack配置管理安装Apache
注意:'*' 表示所有客户端执行apache模块
# vim /srv/salt/top.sls
base:
'*':
- apache
部署SaltStack及批量安装httpd服务
# vim /srv/salt/apache.sls //注意apache-service 是自定义的id名
apache-service:
pkg.installed:
- names:
- httpd
- httpd-devel
service.running:
- name: httpd
- enable: True
部署SaltStack及批量安装httpd服务
重启服务
# systemctl restart salt-master
在管理端执行刷新state配置命令
# salt '*' state.highstate
部署SaltStack及批量安装httpd服务部署SaltStack及批量安装httpd服务
去minion验证下httpd安装成功
部署SaltStack及批量安装httpd服务部署SaltStack及批量安装httpd服务
©著作权归作者所有:来自51CTO博客作者若此生无缘的原创作品,谢绝转载,否则将追究法律责任
好知识,才能预见未来
共同学习,写下你的评论
评论加载中...
作者其他优质文章