SaltStack实战之配置管理-LAMP自动化部署-创新互联

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

学习 SaltStack

创新互联建站是专业的富平网站建设公司,富平接单;提供成都做网站、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行富平网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
  • SaltStack实战之配置管理-LAMP自动化部署

    • 1. 部署思路

    • 2. 编写lamp.sls

1. 部署思路

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

  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

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:SaltStack实战之配置管理-LAMP自动化部署-创新互联
网站链接:http://ybzwz.com/article/hpsie.html