SaltStack实战之配置管理-LAMP自动化部署
admin
2023-05-18 05:01:41
0

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


学习 SaltStack



  • 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


相关内容

热门资讯

特朗普:霍尔木兹海峡已有协议,... 财联社8月3日电,美国总统特朗普表示,霍尔木兹海峡已有协议,无核化也将达成协议。正在以谈判的形式与伊...
中国地震局启动四级应急响应,现... 据中国地震台网正式测定,2026年8月3日2时21分,在四川宜宾市高县(北纬28.54度,东经104...
以称内塔尼亚胡通过特朗普社媒得... △特朗普社交媒体发文截图总台记者当地时间2日获悉,多名以色列官员称,在美国取消针对伊朗的既定袭击计划...
500左右的手柄怎么选?swi... 现在游戏手柄早已成为热门数码外设,跟风入手的玩家数不胜数,但不清楚500左右的手柄怎么选的人同样不在...
原创 美... 2026年1月1日,美国太空探索技术公司“星链”工程副总裁迈克尔尼科尔斯高调宣布,计划2026年降低...
原创 全... 现在的屏幕设计,拥有两大类型,分别是折叠屏、直板机,而类型之间拥有多种形态。其中的折叠屏,拥有阔折叠...
原创 流... 最近,通信圈的两则消息引发了轩然大波。一方面,中国电信宣布自8月1日起全面停止第三方互联网渠道的办卡...
伊朗重申霍尔木兹海峡不会恢复至... △伊朗外交部发言人巴加埃(资料图)当地时间2日,伊朗外交部发言人巴加埃表示,伊方重申,霍尔木兹海峡的...
伊朗外长:与阿曼谈判接近完成 △伊朗外交部长阿拉格齐(中)当地时间8月2日,伊朗外交部长阿拉格齐在政府内阁会议上介绍伊朗与阿曼谈判...
河南2026年“三支一扶”计划... 针对近期备受关注的2026年河南省“三支一扶”计划招募相关舆情,河南省“三支一扶”领导小组协调办公室...