Saltstack volume deployments apache

saltstack Profile

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

Three functions

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

Saltstack volume deployments apache

lab environment

master 192.168.13.131
web01 192.168.13.132
web02  192.168.13.133

1, arranged three servers, the installation source epel

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

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

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

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

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

2, configure the master service salt-master

[root@master ~]# yum -y install salt-master  
[root@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的主目录,需要创建
[root@master ~]# mkdir /srv/salt  ##创建saltstack文件根目录
[root@master ~]# mkdir /srv/pillar   ##创建pillar的主目录
[root@master ~]# systemctl start salt-master.service   ##开启服务
[root@master ~]# 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, the configuration web01, web02 ends salt-minion

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

4, the master test communication state

[root@master ~]# salt '*' test.ping  
web02.saltstack.com:
        True
web01.saltstack.com:
        True

5, managed by master

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

6, configuration management to install apache

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

mkdir /srv/salt
注意:环境: base、dev(开发环境)、test(测试环境)、prod(生产环境)。
[root@master ~]# vim /srv/salt/top.sls  ##编写管理性文件
base:
    '*':      ##所有主机
        - apache     ##指定apache文件
[root@master ~]# vim /srv/salt/apache.sls
apache-service:
    pkg.installed:
        - names:         ##安装的服务
            - httpd
            - httpd-devel
    service.running:
        - name: httpd    ##服务开启
        - enable: True
[root@master ~]# systemctl restart salt-master.service   ##重启服务
[root@master ~]# salt '*' state.highstate   ##执行操作

7, viewed in a web end is installed httpd service

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

thanks for reading!

Guess you like

Origin blog.51cto.com/14080162/2473903