SaltStack 简介
SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。
通过部署SaltStack,我们可以在成千万台服务器上做到批量执行命令,根据不同业务进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。
主要功能
? Saltstack最主要的两个功能是:配置管理与远程执行
? Saltstack不只是一个配置管理工具,还是一个云计算与数据中心架构编排的利器
? Saltstack已经支持Docker相关模块
? 在友好地支持各大云平台之后,配合Saltstack的Mine实时发现功能可以实现各种云平台业务的自动扩展
SaltStack 常用模块
1.pkg 模块
pkg 模块的作用是包管理,包括增删更新。
2.file 模块
file 模块的作用是管理文件的操作,包括同步文件、设置权限和所属用户组、删除文件等操作。
3.cmd 模块
cmd 模块的作用是在 minion 上执行命令或脚本。
4.user 模块
user 模块的作用是管理系统账户的操作。
5.service 模块
service 模块的作用是管理系统服务的操作。
6.cron 模块
cron 模块的作用是管理 cron 服务操作。
本案环境
角色 | 主机名 | IP地址 | 组名 | 系统 |
---|---|---|---|---|
master | master | 192.168.217.137 | CentOS 7.3 | |
minion | web01 | 192.168.217.138 | webgroup1 | CentOS 7.3 |
minion | web02 | 192.168.217.139 | webgroup2 | CentOS 7.3 |
部署 SaltStack 服务
1.在所有主机修改主机名和/etc/hosts实现名称解析及关闭防火墙(若机器太多,可以通过搭建 DNS,则不用在每台机器上设置这个) :
hostnamectl set-hostname master #修改主机名
bash #立即生效
vim /etc/hosts
192.168.217.137 master
192.168.217.138 web01
192.168.217.139 web02
systemctl stop firewalld.service
setenforce 0
2.在 master 上安装 SaltStack 服务 :
yum install epel-release -y #安装epel源
yum install salt-master -y #安装 master salt 服务
3.修改 master 配置文件 :
vim /etc/salt/master
第15行
interface: 192.168.217.137 # master 监控地址
第215行
auto_accept: True #开启 主控端会自动认证被控制的认证
第416行
file_roots: #开启saltstack文件更目录位置
base:
- /srv/salt #默认文件夹不存在
第710行
nodegroups:
group1: ‘web01‘ #指定被控制服务器主机名
group2: ‘web02‘
第552行
pillar_opts: True #开启pillar功能 同步文件
第529行
pillar_roots: #pillar的主目录
base:
- /srv/pillar #默认文件夹不存在
mkdir /srv/salt #创建
mkdir /srv/pillar
4.开启服务 :
cat /etc/salt/master | grep -v ^$ | grep -v ^# #查看配置文件修改内容
systemctl start salt-master.service #开启服务
netstat -antp | egrep ‘4505|4506‘ #查看 4505 4506 端口是否打开
5.部署被管理端 :
yum install epel-release -y #安装 epel 源
yum install salt-minion -y #安装 minion salt 服务
vim /etc/salt/minion
第16行
master: 192.168.217.137 #指向 master IP地址
第78行
id: web01 #被控主机名,另一台是 web02
systemctl start salt-minion.service #开启服务
6.在 master 服务器测试 :
[[email protected] ~]# salt-key list # 查看已经认证的客户端
Accepted Keys:
web01
web02
Denied Keys:
Unaccepted Keys:
Rejected Keys:
[[email protected] ~]# salt ‘*‘ test.ping #测试主控端和被控端的通信,* 所有,也可以写主机名
web01:
True
web02:
True
原文地址:http://blog.51cto.com/13640803/2154719
时间: 2024-11-08 17:19:40