一.saltstack简介 

   Saltstack是一个新的基础设施管理工具。目前处于快速发展阶段,可以看做是pssh+弱化的Puppet的组合。间接的反映出了saltstack的两大功能:远程执行和配置管理。

  

   Saltstack使用Python开发,是一个非常简单易用和轻量级的管理工具。由MasterMinion构成,通过ZeroMQ进行通信。

 

    Saltstackmaster端监听45054506端口,4505salt的消息发布系统,4506salt客户端与服务端通信的端口;salt客户端程序不监听端口,客户端启动后,会主动连接master端注册,然后一直保持该TCP连接,master通过这条TCP连接对客户端控制,如果连接断开,master对客户端就无能为力了。当然,客户端若检查到断开后会定期的一直连接master端的。


二. saltstack安装

1.配置环境

redhat6.5

server1 172.25.29.1 salt-master

server2 172.25.29.2 salt-minion

server3 172.25.29.3 salt-minion

server4 172.25.29.4 salt-minion

做之前配置好本地解析,将salt源安装完毕

1.jpg

2.jpg

2.在server1上安装salt-master

wKioL1nlfTOw3kEyAAA1MmJwC5k886.png

wKiom1nlf-vhYTh5AADI-S1VOBM906.png


3.在server2上安装salt-minion

wKiom1nlf-rw0P29AABKrQukP3A954.png


配置 vim /etc/salt/minion

wKioL1nlfTXRQICtAABV7bIXJRQ740.png

wKioL1nlfTeiZ2RRAABesTzCAqI779.png

wKioL1nlfTiRHdBAAACApsBY1NI816.png



wKiom1nlf-vT3s96AABtDLWppXo992.png

wKiom1nlf-zwC07PAACEAW_KuxY655.png

wKioL1nlfTawfIJuAAAdZum3VP8849.png

wKioL1nlfTaCJ1yqAAAmhzliR7Y445.png

wKiom1nlf-yhQNZYAAApifpZ9aQ030.png

wKiom1nlf-3BYLu4AABcs32k5bo518.png


3.jpg


5.安装python-setproctitle,可以显示进程对应名称

wKioL1nliqrSA9gdAABMBFyachg560.png

wKiom1nljWDTfscaAAE4LNmQxVo529.png




三.saltstack配置-apache的设置推送安装


1.开启base目录

wKioL1nljFSTRdHpAABVUUwi1Xw901.png

重启服务

wKiom1nljwqiCp3dAAA8cHf-wCw428.png


2.在httpd目录下创建web.sls

wKioL1nljFXzoSWFAAAUtsPh-nc446.png

wKiom1nlkAvhrMWgAAAXJr6m8QU933.png

vim  web.sls

wKioL1nljTzxes0qAABg-ZPYfig708.png


3.测试

查看server2是否安装了httpd并测试推送

wKiom1nljw6hBxcNAAB4L2r0ZYY331.png


4.正式给server2安装httpd,成功

wKioL1nljFmh0odvAAB10Ao2DG4077.png

wKiom1nljw_S4wLLAAAjyqqpzu4505.png


server2上安装了httpd

wKioL1nljFnDRHsUAAAmdbj-7YQ438.png

server2上httpd开启

wKiom1nlkWPzT7XtAAAfZ0yXqG4470.png



5.经过查看密钥,两边一致,推送成功

wKiom1nlkWSDqSSEAABQAO9Q7QE037.png


wKioL1nljq-xkqrFAAB-YUbjy4E579.png


web.sls文件没有变动

wKioL1nlj5eCBmOMAABel74Cxzw134.png


6.修改server1上推送的httpd.conf文件

配置文件为server2传server1下/svr/salt/httpd/files


wKiom1nlkk3QezSfAAAgvTOPcSk618.png

修改端口为8080

wKioL1nlj5jBqpAYAAA-jyFURHY786.png

文件变动,重启服务

wKiom1nlkk7yy90gAAB3NJJI-Y4499.png


7.再次推送server2

wKioL1nlj5nigqdoAAAWUDEBfz4410.png

wKiom1nlkk_hJy2YAAAodaQumnk649.png

推送成功

wKioL1nlj5nygSRTAAAfxGGFR0I582.png


四.saltstack配置-nginx的设置推送安装

wKiom1nlk2bQrbJmAAA3hZj1k9U384.png


wKiom1nlk2fBCSXyAAASMemh7E4171.png

wKioL1nlkLHC-GInAAAbJHJKQB8864.png


1.niginx配置结构

wKiom1nllGviNJcqAABk9ei8JG0894.png


2.配置包依赖pkg

wKiom1nlk2iCSI2zAAAZCSfBbCg508.png


3.配置install.sls安装文件


wKioL1nlkLOAul-1AACJGYZCBew612.png


4.向server2推送nginx安装install

wKiom1nlk2miTtdVAAB64cXqlCQ269.png


wKiom1nlk2rzufUZAAAkQWgwzHw818.png


安装成功

wKiom1nlk2mCgGKcAAA4V8OcSE4760.png



3.配置nginx启动服务


将server2上的nginx.conf文件拷入server1上的/srv/salt/nginx/files下

wKioL1nllQ_z-i4oAAAvSUbZk9U186.png

wKiom1nll8WRTaJLAAA-TA12ocg290.png


3配置service.sls文件

wKioL1nllRDRF_6fAACAQy3yMiA069.png


5.向server2推送nginx安装启动service.sls,并在server2上检测结果

wKioL1nllRGDkLxMAABUkrveQRA210.png

wKiom1nll8eg6yPJAAAqu_uBc7I164.png

wKioL1nllRHBZHkZAABJVli14zM703.png

wKiom1nll8jQEPGfAAAcQadQ9I0965.png



五.配置推送2台-nginx服务的设置

1.打开两台虚拟机server3,server4,安装salt-minion并配置好

wKioL1nllWbgPdjYAAAfWUkRGmc635.png

wKioL1nllWbAq4QwAABHWFZbYwU005.png

wKiom1nlmB3wcUAFAAAeEg_KbCQ646.png

wKioL1nllWewfbQnAAA69MSFitA726.png


2.在server1上加好salt-key

wKiom1nlmB3jKGSrAACvcYjD2mk505.png


3.在salt下user下创建nginx.sls用户模块

wKioL1nllWiRdws7AAAvusFaX-s905.png

wKiom1nlmB-hGnspAAA2SBab6_A801.png


在主service.sls文件里添加user.nginx模块


wKioL1nllZrQBOk3AABg-ZPYfig257.png



wKioL1nllWjhvcASAACWi5Mue5A890.png


4.在files下修改httpd.conf配置文件


wKioL1nllWqDPiVMAABARm8M3Oo721.png

wKiom1nlmB-icZ_8AABTgQENZNA718.png


5.配置完成后,开始推送

wKioL1nllW2S-hvbAAB21KVh4Vs291.png

wKiom1nlmCPSKDsMAAAnn6lV8EI275.png

安装开启服务

wKioL1nllW3RmVoMAAA-s7nz4Ow274.png


6.salt-nginx推送文件分布tree图

wKioL1nllZuhUcJwAABk9ei8JG0966.png


六.salt Haproxy+nginx推送配置

1.Haproxy+nginx推送配置文件分布tree图

wKioL1nm4_7ChMnIAACF2G32xqY142.png


2.haproxy配置


wKiom1nm5rbxpJxyAAA4fbs_Fw0438.png


install.sls

wKiom1nm5rWw6XVMAACijZ3q0pU562.png

wKioL1nm4_-×××tw7AABSSa3RB4s037.png

serivce.sls

wKiom1nm5rXDcA3VAABLu9ObwL8352.png


files:haproxy.cfg

wKioL1nm5AChiQPRAAClzts6Ic0986.png


3.nginx配置

install.sls

wKiom1nm5reAtIHkAACfVbyC3Fo705.png


service.sls

wKioL1nm5ALQLzMjAAC×××qaJ4bw500.png



files:nginx.conf

wKioL1nm5AKQ0OCdAACRiLtj6Vo351.png


4.pkg依赖包模块配置

wKiom1nm5rjxn093AABi3B-B8CM350.png


5.user用户模块配置

wKiom1nm5rmTh-dhAACpR-9KQsE245.png


6.配置salt下的top.sls推送文件

wKioL1nm_RfDVGObAAArfvLMbbM960.png


7.推送,server2 proxy,server3、server4 nginx,负载均衡

wKioL1nm_W2SmhQhAAANLs4hKow775.png


wKiom1nm6Qziok7lAADIviR8YLc983.png

wKioL1nm5lawneHbAABt0MZF7jU788.png

wKioL1nm5lfhgGz-AABrQUhUu_w680.png