salt环境介绍
本文的在master中配置的file_roots如下:
| 12
 3
 4
 5
 6
 7
 
 | file_roots:base:
 - /srv/salt/base
 prod:
 - /srv/salt/prod
 test:
 - /srv/salt/test
 
 | 
salt目录配置
| 12
 3
 4
 5
 6
 7
 8
 9
 
 | [root@localhost java]# pwd/srv/salt/prod/java
 [root@localhost prod]# tree java/
 java/
 ├── files
 │   └── jdk-8u65-linux-x64.tar.gz
 └── java-install.sls
 
 1 directory, 2 files
 
 | 
salt文件内容
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 
 | [root@localhost java]# cat java-install.slsjava_install:
 file.managed:
 - name: /usr/local/src/jdk-8u65-linux-x64.tar.gz
 - source: salt://java/files/jdk-8u65-linux-x64.tar.gz
 - user: root
 - group: root
 - mode: 755
 cmd.run:
 - name: mkdir -p /data/app/ && cd /usr/local/src/ && tar -zxf jdk-8u65-linux-x64.tar.gz && mv jdk1.8.0_65/ /data/app/ && ln -s /data/app/jdk1.8.0_65/ /data/app/java
 - unless: test -d /data/app/jdk1.8.0_65/
 - require:
 - file: java_install
 
 java_init:
 file.append:
 - name: /etc/profile
 - text:
 - '###setup java by niu at 2015-12-10'
 - export JAVA_HOME=/data/app/java
 - export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
 
 
 | 
注意文件的缩进和空格。
jinja模板对空格有强依赖。
在所有minion端安装java程序。
| 1
 | salt '*' state.sls java.java-install env=prod
 | 
登录minion端 查看结果。
| 12
 3
 4
 
 | > java -versionjava version "1.8.0_65"
 Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
 Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
 
 | 
注意
- salt文件的书写要注意空格的缩进。
- 以上内容只在centos6,7系统下测试过。