5、SaltStack之项目实践
include: - pkg.pkg-init <------------把pkg-init包含进来, pkg.代表pkg目录haproxy-install: <-------这个是自己定义的id,,一个id下面定义的模块只能出现一次,比如file
file.managed:
- name: /usr/local/src/haproxy-1.6.3.tar.gz <------目标文件(minion端)
- source: salt://haproxy/files/haproxy-1.6.3.tar.gz <------源文件(master端,路径相对于环境prod目录)
- user: root
- group: root
- mode: 755
cmd.run:
- name: cd /usr/local/src && tar xf haproxy-1.6.3.tar.gz && cd haproxy-1.6.3 && make TARGET=linux2628 PREFIX=/usr/local/haproxy && make install PREFIX=/usr/local/haproxy
- unless: test -d /usr/local/haproxy <----unless: <命令> 当命令结果返回false才执行name
- require: <---------表示依赖下面的执行,只有下面的都执行成功,name才会执行
- pkg: pkg-init
- file: haproxy-install <-----因为在一个id下的任何一个模块都只出现一次,所以可以直接定位到
haproxy-config-dir:
file.directory:
- name: /etc/haproxy
- user: root
- group: root
- mode: 755
haproxy-init:
file.managed:
- name: /etc/init.d/haproxy
- source: salt://haproxy/files/haproxy.init
- user: root
- group: root
- mode: 755
- require:
- cmd: haproxy-install
cmd.run:
- name: chkconfig --add haproxy
- unless: chkconfig --list|grep haproxy
- require:
- file: haproxy-init
net.ipv4.ip_nonlocal_bind:
sysctl.present:
- value: 1
页:
[1]