Saltstack批量部署apache

saltstack简介
1.是一个基础平台管理工具
2.是一个配置配置管理系统,能够维护预定义状态的远程节点
3.是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据

三大功能

远程执行
配置管理(状态)
云管理

Saltstack批量部署apache

实验环境

master 192.168.13.131
web01 192.168.13.132
web02  192.168.13.133

1,配置三台服务器,安装epel源

##添加主机名,三台机器都要添加,并且主机要改成相应的名称
[ ~]# vim /etc/hosts
192.168.13.131 master.saltstack.com
192.168.13.132 web01.saltstack.com
192.168.13.133 web02.saltstack.com

#每台都需要关闭防火墙
[ ~]# systemctl stop firewalld.service 
[ ~]# setenforce 0
[ ~]# vim /etc/hostname 
master.saltstack.com

[ ~]# vim /etc/hostname 
web01.saltstack.com

[ ~]# vim /etc/hostname 
web02.saltstack.com

#安装epel源(三台都要装)
[ ~]# yum install -y epel-release

2,配置master服务salt-master

[ ~]# yum -y install salt-master  
[ ~]# vim /etc/salt/master   ##修改配置文件
15行 interface: 192.168.13.131   //监听地址
215行 auto_accept: True        //避免要运行salt-key来确认证书认证
416行 file_roots:
base:
- /srv/salt           //saltstack文件根目录位置,目录需要创建
710行 组分类:
nodegroups:
group1: ‘web01.saltstack.com‘  ##后端服务器域名
group2: ‘web02.saltstack.com‘

552行 pillar_opts: True        //开启pillar功能,同步文件功能
529行 
pillar_roots:
base:
- /srv/pillar         //pillar的主目录,需要创建
[ ~]# mkdir /srv/salt  ##创建saltstack文件根目录
[ ~]# mkdir /srv/pillar   ##创建pillar的主目录
[ ~]# systemctl start salt-master.service   ##开启服务
[ ~]# netstat -ntap | egrep ‘4505|4506‘   ##查看端口
tcp        0      0 192.168.13.131:4505     0.0.0.0:*               LISTEN      45899/python        
tcp        0      0 192.168.13.131:4506     0.0.0.0:*               LISTEN      45915/python

3,配置web01,web02端salt-minion

[ ~]# yum -y install salt-minion  ##安装salt-minion
[ ~]# vim /etc/salt/minion ##修改配置文件
16行 master: 192.168.13.131     //指定主控端IP
78行 id: web01.saltstack.com     //指定被控端主机名(web2就写web02.saltstack.com)
[ ~]# systemctl start salt-minion.service  ##开启服务

4,在master上测试通信状态

[ ~]# salt ‘*‘ test.ping  
web02.saltstack.com:
        True
web01.saltstack.com:
        True

5,用master进行管理

[ ~]# salt ‘*‘ cmd.run ‘df -h‘   ##查看后台web的挂载情况
查看被控主机上grains所有值:(每次minion在启动是都会获取客户端信息)
[ ~]# salt ‘web01.saltstack.com‘ grains.items (静态数据信息)
[ ~]# salt ‘web01.saltstack.com‘ pillar.items  (动态数据信息)
[ ~]# salt-key   ##查看认证的主机信息
Accepted Keys:
web01.saltstack.com
web02.saltstack.com
Denied Keys:
Unaccepted Keys:
Rejected Keys:

6,配置管理安装apache

##修改配置文件
vim /etc/salt/master     // 打开下面的选项,之前已经开启并且创建过目录
file_roots:
base:
- /srv/salt/

mkdir /srv/salt
注意:环境: base、dev(开发环境)、test(测试环境)、prod(生产环境)。
[ ~]# 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
[ ~]# systemctl restart salt-master.service   ##重启服务
[ ~]# salt ‘*‘ state.highstate   ##执行操作

7,在web端查看是否安装httpd服务

[ ~]# rpm -q httpd
httpd-2.4.6-90.el7.centos.x86_64
[ ~]# netstat -ntap | grep 80
tcp6       0      0 :::80                   :::*                  LISTEN      6786/httpd 
[ ~]# rpm -q httpd
httpd-2.4.6-90.el7.centos.x86_64
[ ~]# netstat -ntap | grep 80
tcp6       0      0 :::80                   :::*                  LISTEN      6759/httpd

谢谢阅读!

相关推荐