关闭

SaltStack实战之配置管理-LAMP自动化部署

标签: saltstack自动化
380人阅读 评论(0) 收藏 举报
分类:

SaltStack实战之配置管理-LAMP自动化部署

@(学习)[SaltStack]

1. 部署思路

yaml编写思路
1. 将lamp分成3部分:软件包、配置文件、服务;
2. 确认安装的软件包名、配置文件路径、服务名等;
3. 按以上信息编写yaml文件;

2. 编写lamp.sls

[root@salt-master112 salt]# pwd
/srv/salt
[root@salt-master112 salt]# ls
dev  init  prod  test  top.sls
[root@salt-master112 salt]# cat dev/lamp.sls 
lamp-pkg-install:
  pkg.installed:
    - names:
      - httpd
      - php
      - php-fpm
      - mysql
      - mysql-server
      - php-mysql
      - php-pdo

apache-service:
  file.managed:
    - name: /etc/httpd/conf/httpd.conf
    - source:
      - salt://dev/files/httpd.conf
    - user: root
    - group: root
    - mode: 644
  service.running:
    - name: httpd
    - enable: True

mysql-service:
  file.managed:
    - name: /etc/my.cnf
    - source:
      - salt://dev/files/my.cnf
    - user: root
    - group: root
    - mode: 644
  service.running:
    - name: mysqld
    - enable: True

php-fpm-service:
  service.running:
    - name: php-fpm
    - enable: True
[root@salt-master112 salt]# cat top.sls 
base:
  '*':
    - init.dns

dev:
  'node*.test.com':
  - lamp
[root@salt-master112 salt]# ls dev/
files  lamp.sls
[root@salt-master112 salt]# ls dev/files/
httpd.conf  my.cnf
[root@salt-master112 salt]# 

执行salt '*' state.highstate查看结果:

 [root@salt-master112 salt]# salt-key -L
Accepted Keys:
master.test.com
node1.test.com
node2.test.com
Denied Keys:
Unaccepted Keys:
Rejected Keys:
[root@salt-master112 salt]# salt '*' state.highstate
master.test.com:
----------
          ID: /etc/resolv.conf
    Function: file.managed
      Result: True
     Comment: File /etc/resolv.conf is in the correct state
     Started: 23:20:50.495770
    Duration: 23.706 ms
     Changes:   

Summary for master.test.com
------------
Succeeded: 1
Failed:    0
------------
Total states run:     1
Total run time:  23.706 ms
node1.test.com:
----------
          ID: /etc/resolv.conf
    Function: file.managed
      Result: True
     Comment: File /etc/resolv.conf is in the correct state
     Started: 15:23:33.990342
    Duration: 32.918 ms
     Changes:   
----------
          ID: lamp-pkg-install
    Function: pkg.installed
        Name: httpd
      Result: True
     Comment: Package httpd is already installed
     Started: 15:23:34.603609
    Duration: 649.913 ms
     Changes:   
----------
          ID: lamp-pkg-install
    Function: pkg.installed
        Name: php-pdo
      Result: True
     Comment: Package php-pdo is already installed
     Started: 15:23:35.253716
    Duration: 0.539 ms
     Changes:   
----------
          ID: lamp-pkg-install
    Function: pkg.installed
        Name: php-fpm
      Result: True
     Comment: Package php-fpm is already installed
     Started: 15:23:35.254347
    Duration: 0.359 ms
     Changes:   
----------
          ID: lamp-pkg-install
    Function: pkg.installed
        Name: mysql-server
      Result: True
     Comment: Package mysql-server is already installed
     Started: 15:23:35.254807
    Duration: 0.346 ms
     Changes:   
----------
          ID: lamp-pkg-install
    Function: pkg.installed
        Name: php-mysql
      Result: True
     Comment: Package php-mysql is already installed
     Started: 15:23:35.255233
    Duration: 0.367 ms
     Changes:   
----------
          ID: lamp-pkg-install
    Function: pkg.installed
        Name: mysql
      Result: True
     Comment: Package mysql is already installed
     Started: 15:23:35.255688
    Duration: 0.355 ms
     Changes:   
----------
          ID: lamp-pkg-install
    Function: pkg.installed
        Name: php
      Result: True
     Comment: Package php is already installed
     Started: 15:23:35.256129
    Duration: 0.348 ms
     Changes:   
----------
          ID: apache-service
    Function: file.managed
        Name: /etc/httpd/conf/httpd.conf
      Result: False
     Comment: Unable to manage file: none of the specified sources were found
     Started: 15:23:35.256569
    Duration: 6.275 ms
     Changes:   
----------
          ID: apache-service
    Function: service.running
        Name: httpd
      Result: False
     Comment: Service httpd has been enabled, and is dead
     Started: 15:23:35.275736
    Duration: 230.013 ms
     Changes:   
              ----------
              httpd:
                  True
----------
          ID: mysql-service
    Function: file.managed
        Name: /etc/my.cnf
      Result: False
     Comment: Unable to manage file: none of the specified sources were found
     Started: 15:23:35.505956
    Duration: 6.35 ms
     Changes:   
----------
          ID: mysql-service
    Function: service.running
        Name: httpd
      Result: False
     Comment: Service httpd is already enabled, and is dead
     Started: 15:23:35.512412
    Duration: 134.002 ms
     Changes:   
----------
          ID: php-fpm-service
    Function: service.running
        Name: php-fpm
      Result: True
     Comment: Service php-fpm is already enabled, and is running
     Started: 15:23:35.646635
    Duration: 196.639 ms
     Changes:   
              ----------
              php-fpm:
                  True

Summary for node1.test.com
------------
Succeeded: 9 (changed=2)
Failed:    4
------------
Total states run:    13
Total run time:   1.258 s

node2.test.com:
----------
          ID: /etc/resolv.conf
    Function: file.managed
      Result: True
     Comment: File /etc/resolv.conf is in the correct state
     Started: 15:23:34.682679
    Duration: 103.617 ms
     Changes:   
----------
          ID: lamp-pkg-install
    Function: pkg.installed
        Name: httpd
      Result: True
     Comment: The following packages were installed/updated: httpd
     Started: 15:23:38.021487
    Duration: 46521.648 ms
     Changes:   
              ----------
              apr:
                  ----------
                  new:
                      1.3.9-5.el6_2
                  old:
              apr-util:
                  ----------
                  new:
                      1.3.9-3.el6_0.1
                  old:
              apr-util-ldap:
                  ----------
                  new:
                      1.3.9-3.el6_0.1
                  old:
              httpd:
                  ----------
                  new:
                      2.2.15-59.el6.centos
                  old:
              httpd-tools:
                  ----------
                  new:
                      2.2.15-59.el6.centos
                  old:
              mailcap:
                  ----------
                  new:
                      2.1.31-2.el6
                  old:
----------
          ID: lamp-pkg-install
    Function: pkg.installed
        Name: php-pdo
      Result: True
     Comment: The following packages were installed/updated: php-pdo
     Started: 15:24:24.562565
    Duration: 8749.133 ms
     Changes:   
              ----------
              php-common:
                  ----------
                  new:
                      5.3.3-49.el6
                  old:
              php-pdo:
                  ----------
                  new:
                      5.3.3-49.el6
                  old:
----------
          ID: lamp-pkg-install
    Function: pkg.installed
        Name: php-fpm
      Result: True
     Comment: The following packages were installed/updated: php-fpm
     Started: 15:24:33.336866
    Duration: 8477.529 ms
     Changes:   
              ----------
              php-fpm:
                  ----------
                  new:
                      5.3.3-49.el6
                  old:
----------
          ID: lamp-pkg-install
    Function: pkg.installed
        Name: mysql-server
      Result: True
     Comment: The following packages were installed/updated: mysql-server
     Started: 15:24:41.843441
    Duration: 28414.553 ms
     Changes:   
              ----------
              mysql:
                  ----------
                  new:
                      5.1.73-8.el6_8
                  old:
              mysql-libs:
                  ----------
                  new:
                      5.1.73-8.el6_8
                  old:
              mysql-server:
                  ----------
                  new:
                      5.1.73-8.el6_8
                  old:
              perl-DBD-MySQL:
                  ----------
                  new:
                      4.013-3.el6
                  old:
              perl-DBI:
                  ----------
                  new:
                      1.609-4.el6
                  old:
----------
          ID: lamp-pkg-install
    Function: pkg.installed
        Name: php-mysql
      Result: True
     Comment: The following packages were installed/updated: php-mysql
     Started: 15:25:10.289755
    Duration: 8122.46 ms
     Changes:   
              ----------
              php-mysql:
                  ----------
                  new:
                      5.3.3-49.el6
                  old:
----------
          ID: lamp-pkg-install
    Function: pkg.installed
        Name: mysql
      Result: True
     Comment: Package mysql is already installed
     Started: 15:25:18.458202
    Duration: 1.519 ms
     Changes:   
----------
          ID: lamp-pkg-install
    Function: pkg.installed
        Name: php
      Result: True
     Comment: The following packages were installed/updated: php
     Started: 15:25:18.459996
    Duration: 14374.708 ms
     Changes:   
              ----------
              php:
                  ----------
                  new:
                      5.3.3-49.el6
                  old:
              php-cli:
                  ----------
                  new:
                      5.3.3-49.el6
                  old:
----------
          ID: apache-service
    Function: file.managed
        Name: /etc/httpd/conf/httpd.conf
      Result: False
     Comment: Unable to manage file: none of the specified sources were found
     Started: 15:25:32.846614
    Duration: 38.9 ms
     Changes:   
----------
          ID: apache-service
    Function: service.running
        Name: httpd
      Result: False
     Comment: Service httpd has been enabled, and is dead
     Started: 15:25:32.916084
    Duration: 674.943 ms
     Changes:   
              ----------
              httpd:
                  True
----------
          ID: mysql-service
    Function: file.managed
        Name: /etc/my.cnf
      Result: False
     Comment: Unable to manage file: none of the specified sources were found
     Started: 15:25:33.591498
    Duration: 23.162 ms
     Changes:   
----------
          ID: mysql-service
    Function: service.running
        Name: httpd
      Result: False
     Comment: Service httpd is already enabled, and is dead
     Started: 15:25:33.614954
    Duration: 357.977 ms
     Changes:   
----------
          ID: php-fpm-service
    Function: service.running
        Name: php-fpm
      Result: True
     Comment: Service php-fpm is already enabled, and is running
     Started: 15:25:33.973402
    Duration: 512.95 ms
     Changes:   
              ----------
              php-fpm:
                  True

Summary for node2.test.com
------------
Succeeded: 9 (changed=8)
Failed:    4
------------
Total states run:    13
Total run time: 116.373 s
ERROR: Minions returned with non-zero exit code
[root@salt-master112 salt]# 

上面结果中有报错
Unable to manage file: none of the specified sources were found

需要修改路径,把dev去掉。因为在top.sls配置文件中,lamp是定义在dev下面的,因此salt://应该是从dev目录下为起始的。

- salt://files/httpd.conf
0
0
查看评论

saltstack 实现lamp批量部署

自动化批量管理工具saltstack 实现lamp批量部署.
  • Cooling88
  • Cooling88
  • 2016-07-31 19:52
  • 1041

实践SaltStack安装和配置管理

1
  • picture1213
  • picture1213
  • 2015-01-22 15:06
  • 793

saltstack配置管理

vim /etc/salt/master mkdir /srv/salt -p
  • xiegh2014
  • xiegh2014
  • 2016-08-07 13:12
  • 668

Saltstack自动化环境部署

Saltstack知多少 Saltstack是一种全新的基础设施管理方式,是一个服务器基础架构集中化管理平台,几分钟内便可运行起来,速度够快,服务器之间秒级通讯,扩展性好,很容易批量管理上万台服务器,显著降低人力与运维成本;它具备配置管理、远程执行、监控等功能,一般可以理解为简化版的puppe...
  • chengxuyuanyonghu
  • chengxuyuanyonghu
  • 2017-03-21 17:48
  • 796

SaltStack实战之配置管理-Jinja2模板

SaltStack实战之配置管理-Jinja2模板 1. Salt yaml配置文件使用Jinja2模板介绍 1.1 File状态使用template参数 1.2 模板文件里面变量使用{{ 名称 }} 1.3 变量列表 2. 实战应用
  • ygqygq2
  • ygqygq2
  • 2017-06-16 10:02
  • 656

lamp的架构之haproxy

haproxy        haproxy是一个使用c语言编写的开放源代码软件,主要目的就是来提供高可用性和负载均衡的。       就目前来说。Nginx,LVS,Haproxy是使用最广泛的三种负载均衡软件。   ...
  • Ghost_leader
  • Ghost_leader
  • 2017-03-18 22:11
  • 321

saltstack自动化部署 - 学习笔记

一. SaltStack安装 安装saltstack服务端和客户端: yum install salt-master salt-minion #服务端 yum install salt-minion #客户端 配置客户端的master: vim...
  • wmj2004
  • wmj2004
  • 2017-02-07 14:46
  • 2304

SaltStack一键自动化部署高可用负载均衡集群

SaltStack一键自动化部署高可用负载均衡集群;源码自动化安装keepalived,源码自动化安装haproxy
  • Lockey23
  • Lockey23
  • 2017-10-17 21:57
  • 547

Saltstack-自动化部署

Saltstack概述 Salt一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。 salt底层采用动态的连接总线, 使其可以用于编配, 远程执行, 配置管理等等. 参考中文文档:http://docs.saltstack....
  • xiegh2014
  • xiegh2014
  • 2016-11-18 09:49
  • 1320

SaltStack实战之配置管理-YAML编写技巧

SaltStack实战之配置管理-YAML编写技巧 1. 概述和内容 2. YAML编写技巧 2.1 缩进 2.2 冒号 2.3 短横线 3. 同步文件实战
  • ygqygq2
  • ygqygq2
  • 2017-06-13 08:38
  • 588
    个人资料
    • 访问:53587次
    • 积分:1048
    • 等级:
    • 排名:千里之外
    • 原创:92篇
    • 转载:3篇
    • 译文:0篇
    • 评论:9条
    文章分类
    最新评论