Saltstack自动化部署apache服务

实验主机环境:

master: rhel6.5 x86_64bit 172.25.5.91 rhel65-lockey1
minion: rhel6.5 x86_64bit 172.25.5.92 rhel65-lockey2

1.指定文件目录

vim /etc/salt/master

# Example:
file_roots:
   base:
     - /srv/salt/

2.创建文件目录并重启服务使配置生效

mkdir /srv/salt
/etc/init.d/salt-master restart

3.配置测试脚本进行环境验证

cd /srv/salt/
mkdir httpd
cd httpd/
vim web.sls
[root@rhel65-lockey1 httpd]# cat web.sls 
httpd:
  pkg.installed

[root@rhel65-lockey1 httpd]# salt rhel65-lockey2 state.sls
httpd.web test=true

rhel65-lockey2:
----------
          ID: httpd
    Function: pkg.installed
      Result: None
     Comment: The following packages would be installed/updated: httpd
     Started: 11:47:38.462968
    Duration: 666.224 ms
     Changes:   

Summary for rhel65-lockey2
------------
Succeeded: 1 (unchanged=1)
Failed:    0
------------
Total states run:     1
Total run time: 666.224 ms

在minion端进行检查,自动安装脚本已经同步

[root@rhel65-lockey2 minion]# tree .
.
├── accumulator
├── extmods
├── files
│   └── base
│       └── httpd
│           └── web.sls
├── highstate.cache.p
├── pkg_refresh
├── proc
└── sls.p

[root@rhel65-lockey2 minion]# pwd
/var/cache/salt/minion

4. 配置apache自动安装脚本并进行测试

4.1 简单安装

[root@rhel65-lockey1 httpd]# cat web.sls

apache:
  pkg.installed:
    - pkgs:
      - httpd
      - php

[root@rhel65-lockey1 httpd]# salt rhel65-lockey2 state.sls httpd.web

rhel65-lockey2:
----------
          ID: apache
    Function: pkg.installed
      Result: True
     Comment: The following packages were installed/updated: httpd, php
     Started: 11:54:42.915104
    Duration: 5658.2 ms
     Changes:   
              ----------
              apr:
                  ----------
                  new:
           。。。
                  old:

Summary for rhel65-lockey2
------------
Succeeded: 1 (changed=1)###表示安装成功
Failed:    0
------------
Total states run:     1
Total run time:   5.658 s###安装所用时间

4.2 设置服务状态

[root@rhel65-lockey1 httpd]# cat web.sls

apache:
  pkg.installed:
    - pkgs:
      - httpd
      - php
apache-service:
  service.running:
    - name: httpd
    - enable: true
    - 

[root@rhel65-lockey1 httpd]# salt rhel65-lockey2 state.sls httpd.web

rhel65-lockey2:
----------
          ID: apache
    Function: pkg.installed
      Result: True
     Comment: All specified packages are already installed
     Started: 12:00:42.514547
    Duration: 634.455 ms
     Changes:   
----------
          ID: apache-service
    Function: service.running
        Name: httpd
      Result: True
     Comment: Service httpd has been enabled, and is running
     Started: 12:00:43.149922
    Duration: 206.696 ms
     Changes:   
              ----------
              httpd:
                  True

Summary for rhel65-lockey2
------------
Succeeded: 2 (changed=1)
Failed:    0
------------
Total states run:     2
Total run time: 841.151 ms

在minion端查看httpd的状态:

[root@rhel65-lockey2 minion]# /etc/init.d/httpd status
httpd (pid 3149) is running…

4.3 Apache配置文件推送(以服务端口变更为例)

[root@rhel65-lockey1 httpd]# mkdir files#此目录下放置apache的配置文件httpd.conf

[root@rhel65-lockey1 httpd]# cat web.sls

apache:
  pkg.installed:
    - pkgs:
      - httpd
      - php
  service.running:
    - name: httpd
    - enable: true
    - reload: true
    - watch:
      - file: apache
  file.managed:#配置文件管理
    - name: /etc/httpd/conf/httpd.conf#minion端文件位置
    - source: salt://httpd/files/httpd.conf#mater端文件位置(相对路径)
    - mode: 644
    - user: root
    - group: root

[root@rhel65-lockey1 httpd]# salt rhel65-lockey2 state.sls httpd.web test=true###首先进行配置测试正常后再执行

rhel65-lockey2:
----------
        。。。
     Changes:   
              ----------
              diff:
                  ---  
                  +++  
                  @@ -133,7 +133,7 @@
                   # prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
                   #
                   #Listen 12.34.56.78:80
                  -Listen 80###注意这一行
                  +Listen 8080###and这一行

                   #
                   # Dynamic Shared Object (DSO) Support
----------
          。。。
Total states run:     3
Total run time: 741.274 ms

[root@rhel65-lockey1 httpd]# salt rhel65-lockey2 state.sls httpd.web

minion端进行验证:

推送前

[root@rhel65-lockey2 minion]# netstat -anltp | grep 80
tcp        0      0 172.25.5.92:50801           172.25.5.91:4505            ESTABLISHED 2363/python2.6
tcp        0      0 :::80                       :::*                        LISTEN      3149/httpd   

推送后

tcp        0      0 172.25.5.92:50801           172.25.5.91:4505            ESTABLISHED 2363/python2.6
tcp        0      0 :::8080                     :::*                        LISTEN      3149/httpd 

此文over,下文预告[Saltstack自动化源码编译安装Nginx服务]

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值