SaltStack实战之配置管理-LAMP自动化部署
学习
SaltStack
1. 部署思路
- 将lamp分成3部分:软件包、配置文件、服务;
- 确认安装的软件包名、配置文件路径、服务名等;
- 按以上信息编写yaml文件;
2. 编写lamp.sls
[[email protected] salt]# pwd/srv/salt[[email protected] salt]# lsdev init prod test top.sls[[email protected] 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: httpd - enable: True
php-fpm-service: service.running: - name: php-fpm - enable: True[[email protected] salt]# cat top.sls base: ‘*‘: - init.dns
dev: ‘node*.test.com‘: - lamp[[email protected] salt]# ls dev/files lamp.sls[[email protected] salt]# ls dev/files/httpd.conf my.cnf[[email protected] salt]#
执行salt ‘*‘ state.highstate
查看结果:
[[email protected] salt]# salt-key -LAccepted Keys:master.test.comnode1.test.comnode2.test.comDenied Keys:Unaccepted Keys:Rejected Keys:[[email protected] salt]# salt ‘*‘ state.highstatemaster.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: 1Failed: 0------------Total states run: 1Total run time: 23.706 msnode1.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: 13Total 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: 13Total run time: 116.373 sERROR: Minions returned with non-zero exit code[[email protected] salt]#
上面结果中有报错 Unable to manage file: none of the specified sources were found
需要修改路径,把dev
去掉。因为在top.sls
配置文件中,lamp
是定义在dev下面的,因此salt://
应该是从dev目录下为起始的。
- salt://files/httpd.conf
时间: 2024-10-29 19:09:23