zhangli-s 发表于 2018-1-4 06:13:55

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]
查看完整版本: 5、SaltStack之项目实践