saltstack深入配置
深入salt配置环境: base, dev(开发环境), test(测试环境), prod(生产环境)
vim/etc/salt/master
file_roots:
base:
- /srv/salt/
dev:
- /srv/salt/dev
test:
- /srv/salt/test
prod:
- /srv/salt/prod
mkdir/srv/salt/{dev,test,prod}
案例一:初始化配置
vim /srv/salt/top.sls//内容如下
base:
'*':
- init.dns
如果写成带一个点的形式,那么点前面是目录名字,后面是sls文件名字。
mkdirinit
cd init
vim dns.sls //内容
/etc/resolve.conf:
file.managed:
- source: salt://init/files/resolv.conf//说明 salt://为当前环境(base)的主目录(/srv/salt/)下。
- user: root
- group: root
- mode: 644
mkdir /srv/salt/init/files //在此目录下放resolv.conf作为模板文件
运行: salt '*' state.highstate
案例二: 自动化部署lamp环境
三个模块:
pkg 安装软件包
file管理配置文件
service 服务管理
思路: lamp需要安装的软件包有httpd, php, mysql, mysql-server, php-mysql, php-pdo
预设:我们把这个lamp的安装项目放到dev环境下
cd/srv/salt/dev/
mkdir /srv/salt/dev/files/
vim lamp.sls//加入如下内容
lamp-pkg-install:
pkg.installed:
- names:
- php
- mysql
- php-cli
- php-common
- php-mysql
- mysql-server
- php-pdo
apache-service:
pkg.installed:
- name: httpd
file.managed:
- name: /etc/httpd/conf/httpd.conf
- source: salt://files/httpd.conf
- user: root
- group: root
- mode: 644
- require:
- pkg: apache-service
service.running:
- name: httpd
- enable: True
-> - watch:
- file: apache-service
mysql-service:
file.managed:
- name: /etc/my.cnf
- source: salt://files/my.cnf
- user: root
- group: root
- mode: 644
service.running:
- name: mysqld
- enable: True
vim/srv/salt/top.sls //加入如下内容
dev:
'client.aming.com':
- lamp
执行: salt '*' state.highstate
salt编译安装nginxhttp://blog.cunss.com/?p=272
页:
[1]