Saltstack自动化运维工具

1、安装配置

准备两台机器

master:172.25.77.4

minion:172.25.77.5

下载所需要的包,放到yum源里

Saltstack自动化运维工具_第1张图片

server4安装master

server5安装minion

在两台机器/etc/hosts加入本地解析

编辑server5的minion配置文件,指定master

Saltstack自动化运维工具_第2张图片

master端使用 salt-key -L 命令查看到已经签名的客户端

Saltstack自动化运维工具_第3张图片

salt-key -A添加所有

Saltstack自动化运维工具_第4张图片

test.ping检测通讯是否正常


在minion端的 /etc/salt/pki/minion 目录下面会多出一个minion_master.pub 文件

与master端的 master.pub一致


二、Salt一键部署

在master端打开fle_roots


Saltstack自动化运维工具_第5张图片

建立这个网站,启动服务

1、一键部署httpd

在base目录下,建立httpd目录,编辑install.sls

Saltstack自动化运维工具_第6张图片

Saltstack自动化运维工具_第7张图片

运行,在minion端自动安装了httpd服务,将httpd的配置文件放到master的base/httpd/files下

Saltstack自动化运维工具_第8张图片

此时在master端更改配置,在minion端生效,这里我们来改变端口进行测试

现在httpd服务是80端口

Saltstack自动化运维工具_第9张图片

在master端更改httpd的配置文件,将端口改为8080

Saltstack自动化运维工具_第10张图片Saltstack自动化运维工具_第11张图片

再次运行,在minion端查看,端口被修改为8080

Saltstack自动化运维工具_第12张图片Saltstack自动化运维工具_第13张图片


上面是一起安装和重新加载,我们还可以安装和服务重新加载分开

先建立insatllback.sls安装文件

Saltstack自动化运维工具_第14张图片

在建立服务重新加载service文件,如下图

Saltstack自动化运维工具_第15张图片

还是用更改端口来测试,现在端口是8080,我们在将其改为80

Saltstack自动化运维工具_第16张图片

运行service Saltstack自动化运维工具_第17张图片

查看,成功将端口修改为80

Saltstack自动化运维工具_第18张图片


2、一键部署源码安装ngixn

先要准备nginx源码安装的依赖性,在base目录下建立pkgs目录,编辑install.sls

Saltstack自动化运维工具_第19张图片

在准备一台机器,server6做minion来安装部署ngxin

Saltstack自动化运维工具_第20张图片

一样,在base目录下建立ngix目录,编辑install.sls,将tar包放在nginx目录下的files下

Saltstack自动化运维工具_第21张图片

Saltstack自动化运维工具_第22张图片

运行安装ngixn

Saltstack自动化运维工具_第23张图片Saltstack自动化运维工具_第24张图片

在server6 minion端将nginx.conf配置放到server4 master的指定目录下

Saltstack自动化运维工具_第25张图片

在files里有配置文件和写好的启动ngixn脚本

Saltstack自动化运维工具_第26张图片

现在我们来实现创建ngxin用户并且自动启动加载

在server6端,此时nginx用户不存在

在master端,base目录下建立users/编辑创建用户和用户组

Saltstack自动化运维工具_第27张图片

Saltstack自动化运维工具_第28张图片

并将其指定到nginx的安装部署文件里

Saltstack自动化运维工具_第29张图片

编辑nginx的service.sls这个也可以更改部署配置文件信息

Saltstack自动化运维工具_第30张图片

这里将配置文件也更改,一起测试

Saltstack自动化运维工具_第31张图片

完成后运行nginx的server.sls

Saltstack自动化运维工具_第32张图片

在server6 minion端查看,nginx用户和运行情况和配置文件

Saltstack自动化运维工具_第33张图片


Saltstack自动化运维工具_第34张图片



3、一键推送

在上面配置好前提下,可以设置多台机器一键推送,在base目录下建立编辑top.sls,即可实现Saltstack自动化运维工具_第35张图片

Saltstack自动化运维工具_第36张图片


4、一键部署haproxy并实现负载均衡

这里为了方便直接在master server4端安装

现在server4上安装minion,并加入salt-key

Saltstack自动化运维工具_第37张图片 Saltstack自动化运维工具_第38张图片


Saltstack自动化运维工具_第39张图片

实现负载均衡,在yun源里加入LoadBalancer

Saltstack自动化运维工具_第40张图片

在base目录下建立haproxy的install.sls,完成后运行

Saltstack自动化运维工具_第41张图片Saltstack自动化运维工具_第42张图片

运行过程中报错,只完成了安装,这是因为没有配置文件,将安装好产生的配置文件发送到insatll.sls里指定目录下再次运行即可

Saltstack自动化运维工具_第43张图片Saltstack自动化运维工具_第44张图片

实现负载均衡,更改全局base目录下的haproxy.cfg配置文件

Saltstack自动化运维工具_第45张图片Saltstack自动化运维工具_第46张图片

完成后可以单独执行install.sls,也可以其加入到一见推送top.sls里

Saltstack自动化运维工具_第47张图片

在之前server5部署的httpd和server6部署的nginx默认发布目录下写入内容,方便测试

Saltstack自动化运维工具_第48张图片Saltstack自动化运维工具_第49张图片

测试查看负载均衡,如图:完成实现

Saltstack自动化运维工具_第50张图片


三、grains和pillar

grains负责采集客户端的一些基本信息;pillar数据是存储在master端的,而在客户端有缓存,通常pillar数据是一些配置信息。


1、grins配置

1)在master查看minion的grains的值

Saltstack自动化运维工具_第51张图片

2)三种方法设置grains

第一种:种在minion配置文件里找到grains节点进行添加或编辑,如下图

Saltstack自动化运维工具_第52张图片Saltstack自动化运维工具_第53张图片Saltstack自动化运维工具_第54张图片

第二种方法:在/etc/salt建立编写grains文件

Saltstack自动化运维工具_第55张图片Saltstack自动化运维工具_第56张图片Saltstack自动化运维工具_第57张图片

第三种方法:在master的base目录下建python文件来从minion上取得环境参数

Saltstack自动化运维工具_第58张图片Saltstack自动化运维工具_第59张图片

然后将此自定义grains文件同步到minion上

Saltstack自动化运维工具_第60张图片

并且grains可以和一键推送结合,可以配合grains的指定值来推送,如下图

在salt是linux的机器上安装httpd服务

Saltstack自动化运维工具_第61张图片Saltstack自动化运维工具_第62张图片

运行测试没有报错

Saltstack自动化运维工具_第63张图片


2、pillar配置

首先需要在master配置文件中修改pillar根目录

Saltstack自动化运维工具_第64张图片

这个目录没有,需要自己建立,完成后重启服务,并在目录下可以建立目录,编辑pillar数据

Saltstack自动化运维工具_第65张图片Saltstack自动化运维工具_第66张图片

然后在在pillar目录中添加top.sls

Saltstack自动化运维工具_第67张图片

可以通过命令salt ... refresh_pillar来刷新minion的pillar数据

Saltstack自动化运维工具_第68张图片

完成后进行验证即可

Saltstack自动化运维工具_第69张图片

你可能感兴趣的:(Saltstack自动化运维工具)