使用saltstack快速安装java环境

salt环境介绍

本文的在master中配置的file_roots如下:

1
2
3
4
5
6
7
file_roots:
base:
- /srv/salt/base
prod:
- /srv/salt/prod
test:
- /srv/salt/test

salt目录配置

1
2
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文件内容

1
2
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.sls
java_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端 查看结果。

1
2
3
4
> java -version
java 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)

注意

  1. salt文件的书写要注意空格的缩进。
  2. 以上内容只在centos6,7系统下测试过。