SaltStack 介绍
SaltStack 是一个基于 Python 开发的一套架构配置管理工具,采用 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地址
Mastermaster192.168.6.117
Minionweb01192.168.6.130
Minionweb02192.168.6.129
开始部署
SaltStack 安装
1、修改主机名
# vim /etc/hostname三台主机分别为:master//(管理)web01//(被管理)web02//(被管理)# init 6//重启系统 让主机名生效
2、修改三台服务器的hosts文件
# vim /etc/hosts192.168.6.117 master193.168.6.130 web01192.168.6.129 web02
3、安装salt
# 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.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 ^# //查看修改好的配置项
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.6.117//16行 指定管理端IPid: web01//78行 指定被控的主机名 (另外一台为 web02)# systemctl start salt-minion.service//开启服务
7、在管理端测试 ( '*' 指的是所有主机)
#salt'*'test.ping //查看通信状态#salt'*'cmd.run'df -h'//查看所有被管理端的挂载情况#salt'web01'cmd.run'df -h'//查看指定主机的挂载情况#salt'*'grains.items //查看grains值(静态信息)#salt'*'pillar.items //查看pillar值(动态信息)# salt-key //查看已经被接受过的客户端
SaltStack 配置安装 Apache 小程序开发找上海捌跃网络科技有限公司
# vim /srv/salt/top.slsbase:'*': - apache
# vim /srv/salt/apache.sls //注意apache-service 是自定义的id名apache-service:pkg.installed:- names: - httpd - httpd-develservice.running:- name: httpd - enable: True
重启服务,并在管理端执行刷新state配置命令
# systemctl restart salt-master#salt'*'state.highstate
在minion服务器上验证 httpd 安装成功,并已开启 httpd 服务
网友评论