自动化部署之SaltStack
            时间:2018-08-06 19:48:52  
            收藏:0  
            阅读:752
        
        
        SaltStack原理
        
        SaltStack由Master和Minion构成,Master 是服务端, 表示一台服务器;Minion是客户服务端,表示多台服务器。在Master上发送命令给符合条件的Minion,Minin就会执行相应的命令,Master和Minion之间是通过ZeroMQ (消息队列)进行通信的。
SaltStack的Master端监听4505与4506端口,4505为Master和Minion认证通信端口,4506为Master用来发送命令或者接收Minion的命令执行返回信息。
当客户端启动后,会主动连接Master端注册,然后一直保持该TCP连接,而Master通过这条TCP连接对客户端进行控制。如果连接断开,Master对客户端将不能进行控制。但是,当客户端检查到连接断开后,会定期向Master端请求注册连接。
SaltStack常用模块
| 名称 | 说明 | 
|---|---|
| pkg模块 | 包管理,包括增删更新。 | 
| file模块 | 管理文件操作,包括同步文件、设置文件权限和所属用户组、删除文件等操作。 | 
| cmd模块 | 在Minion上执行命令或者脚本。 | 
| user模块 | 管理系统账号操作。 | 
| service模块 | 管理系统服务操作。 | 
| cron模块 | 管理cron服务操作。 | 
SaltStack批量部署并配置Apache
| 角色 | 主机名 | IP地址 | 需要安装的软件 | 
|---|---|---|---|
| master | master | 192.168.10.7 | release、salt-master | 
| minion | web1 | 192.168.10.8 | release、salt-minion | 
| minion | web2 | 192.168.10.9 | release、salt-minion | 
SaltStack安装
- 修改所有主句名称和hosts文件
主机名分别修改为master > web1 > web2 
vim /etc/hostname 
master       //修改主机名
vim /etc/hosts
192.168.10.6   master
192.168.10.7   web1
192.168.10.8   web2
init 6 #重启
- 在三台主机上安转epel源
yum install epel-release -y 
- master 安装salt-master
yum install salt-master -y 
- 编辑master主机上的salt配置文件
vim /etc/salt/master
interface: 192.168.10.6     //15行,改为为本机地址     
auto_accept: True    //215行,自动认证被控端的认证     
file_roots:          //416-418行,去掉注释开启 
  base:
    - /srv/salt         //这个目录默认是没有的,需要创建。
pillar_roots:      //529-531行, 去掉注释开启
  base:
    - /srv/pillar      //这个目录默认是没有的,需要创建。
pillar_opts: True    //552行,开启pillar功能
nodegroups:          //710行,组的分类
  group1: ‘web1‘
  group2: ‘web2‘4) 查看修改的内容
cat /etc/salt/master | grep -v ^$ | grep -v ^# 过滤出空行和#开头的信息
5) 创建salt目标和pillar
 mkdir /srv/salt 
 mkdir /srv/pillar6) 关闭防火墙和安全功能,开启salt-master服务并查看4505端口和4506端口是否开启
systemctl stop firewalld.service
setenforce 0      //关闭防火墙和安全功能
systemctl start salt-master.service  开启服务
netstat -ntap | egrep ‘4505|4506‘ #egrep 支持扩正则表达式7) 两台被控端web1,web2上安装salt-minion
yum install salt-minion -y
8) 编辑salt-minion的配置文件
vim /etc/salt/minion
master: 192.168.10.6     //16行,指定控制端IP
id: web1     //78行,指定本机主机名,web2则为web2    SaltStack批量部署Apache
master上创建top.sls文件并写
vim /srv/salt/top.sls
base:
  ‘*‘:        //表示在所有的客户端执行apache模块
   - apache      #定义变量后面创建的内容是调用里面的内容
vim /srv/salt/apache.sls  #创建被调用变量
apache-service:
 pkg.installed:
   - names:
     - httpd
     - httpd-devel
 service.running:
   - name: httpd
   - enable: True重启salt-master服务
systemctl restart salt-master
原文:http://blog.51cto.com/13660858/2155433
            评论(0)
        
        
         
        


