使用salt来部署环境其实就是把需要安装的软件包以及所需配置文件提前设定好,然后再通过一些模块来执行的过程,如果需要部署一个不太熟悉的环境时,可以先在一台机器上手动安装一次所需软件,获取软件包名后再进行salt的操作,下面是一个LAMP环境的部署实例:
01
|
vi /srv/salt/lamp.sls #生成一个sls文件
|
02
|
lamp-pkg- install : #做id声明,在所有sls文件中该id需要唯一,命名要做到见名知意
|
03
|
pkg.installed: #使用pkg模块的installed方法
|
04
|
- names:
|
05
|
- httpd #列出软件包名
|
06
|
- php
|
07
|
- mysql-server
|
08
|
- mysql
|
09
|
- php-mysql
|
10
|
11
|
apache-service: #声明id,一般一个id进行一个专门的事务,这里是修改配置文件
|
12
|
file .managed: #使用file模块的managed方法来进行文件的修改
|
13
|
- name: /etc/httpd/conf/httpd.conf #指明需要修改的文件路径
|
14
|
- source : salt://files/httpd.conf #源文件存放的路径,被修改文件会以该文件内容自动修改
|
15
|
- user: root
|
16
|
- group: root
|
17
|
- mode: 644
|
18
|
service.running: #启动service模块和方法启动httpd服务
|
19
|
- name: httpd
|
20
|
- enable : True
|
21
|
22
|
mysql-service:
|
23
|
file .managed:
|
24
|
- name: /etc/my.cnf
|
25
|
- source : salt://files/my.cnf
|
26
|
- group: root
|
27
|
- mode: 644
|
28
|
service.running:
|
29
|
- name: mysqld
|
30
|
- enable : True
|
然后修改top.sls文件,添加上一步文件的相关信息
1
|
vim /srv/salt/ top .sls
|
2
|
base:
|
3
|
'*' :
|
4
|
- lamp
|
执行salt '*' state.highstate来执行操作