SaltStack自动化运维工具
一、SaltStack的了解
SaltStack管理工具允许管理员对多个操作系统创建一个一致的管理系统,包括VMware vSphere环境。
SaltStack作用于仆从和主拓扑。SaltStack与特定的命令结合使用可以在一个或多个下属执行。
主要用的语言为python
二、SaltStack的配置
使用自动化软件,实现在server1中显示server2中执行的内容(server1、2均为rhel6.5)
1、在server1中配置yum源
---> vim /etc/yum.repos.d/rhel-source.repo # 添加如下仓库
---> yum repolist # 成功结果如下
---> scp /etc/yum.repos.d/rhel-source.repo server2:/etc/yum.repos.d/ # 完成后复制到server2中
2、在server1中安装salt-master,并修改master的配置文件
---> yum install -y salt-master
---> vim /etc/salt/master # 取消534-536行的注释
---> /etc/init.d/salt-master start # 启动服务
---> netstat -antlp # 查看端口
注释:4505端口用来链接slave,发布订阅;4506端口用来请求响应(模式为zmq,消息队列)
---> lsof -i :4505 # lsof查看端口的链接情况
3、在server2中安装salt-minion软件,并修改minion的配置文件
---> yum install -y salt-minion
---> vim /etc/salt/minion # 添加master对应的ip
---> /etc/init.d/salt-minion start # 启动minion服务。(启动服务后,会生成一个minion.id文件。若修改ip之后,要删除该文件,然后重新启动)
4、在server1中添加server2。(也是master和minion交换公钥的过程)
---> salt-key -A # 添加显示的主机
---> salt-key -L # 显示salt的情况
5、我们可以在master和minion两个主机上分别查看公钥,是相同的。
6、在server1端进行测试
---> salt server2 test.ping # 查看server2是否可以ping通
---> salt server2 cmd.run df # 查看server2的df
server2:
三、自动化部署
(一)http服务的安装
1)在server1中配置http的安装脚本
---> mkdir /srv/salt # 由于之前取消master配置文件的注释,所以要有目录/srv/salt
---> cd /srv/salt
---> mkdir apache # 创建apache目录。用来存放脚本
---> cd apache
---> vim web.sls # 注意,该语言格式要求严格,每行开头有空格的时候,必须是两个空格
---> salt server2 state.sls apache.web # 执行脚本
2)、在server2中查看httpd和php的是否安装
(二)启动httpd服务并修改端口为8080
1)首先在server1中创建目录,存放httpd.conf配置文件
---> cd /srv/salt/apache/
---> mkdir files
2)将server2安装好的httpd的配置文件复制到server1的固定目录下
---> scp /etc/httpd/conf/httpd.conf server1:/srv/salt/apache/files
3)在server1中编辑执行脚本
---> vim web.sls
# 在执行脚本之前,我们先修改server1中的httpd.conf文件的端口为8080
4)测试:在server2中查看httpd的端口
---> netstat -antlp
(三)自动化部署:源码安装nginx
1)在server1中编辑配置脚本
---> mkdir /src/salt/nginx/
---> cd /src/salt/nginx
---> mkdir files # files目录中存放nginx源码包
---> vim nginx.sls # 进行nginx源码安装的时候,首先安装依赖包;再发送源码包,最后进行源码包的解压
---> salt server2 state.sls nginx.install # 执行脚本,结果如下
2)在server2中查看nginx是否安装成功
(四)salt自动重新加载nginx的配置文件
1)创建user目录,存放的sls脚本文件,用来生成nginx用户
---> cd /srv/salt
---> mkdir user
---> vim nginx.sls # 创建nginx组和用户
2)修改server.sls文件
---> vim /srv/salt/nginx/service.sls
3)执行service.sls文件
---> cd /usr/salt/nginx
---> salt server2 state.sls nginx.service
4)在server2中查看nginx用户和nginx服务的启动状态