一、环境说明
在部署好SaltStack的基础服务端和客户端环境后,可以基于该环境自动部署Tomcat
项目 |
参数 |
备注 |
操作系统 |
Centos 7 |
|
服务端IP地址 |
192.168.1.1 |
|
客户端IP地址 |
192.168.1.2 |
|
tomcat版本 |
apache-tomcat-7.0.10 |
|
jdk版本 |
jdk-7u79-linux-x64 |
目录 |
参数 |
备注 |
文件存放路径 |
/opt |
服务端 |
tomcat安装路径 |
/u01/tomcat |
/u01目录若无需要提前创建 |
jdk安装路径 |
/u01/jdk |
/u01目录若无需要提前创建 |
二、自动部署
1.环境准备
1.1 指定master入口
[root@server ~]# vi /etc/salt/master
#将下面的注释打开
file_roots:
base:
- /srv/salt/
[root@server ~]# systemctl restart salt-master.service
1.2 目录创建
为JDK和Tomcat单独创建目录
[root@server ~]# mkdir /srv/salt/tomcat -p
[root@server ~]# mkdir /srv/salt/tomcat/files -p
[root@server ~]# mkdir /srv/salt/jdk/files -p
1.3 安装包准备
将安装包拷贝到各自的files目录下
[root@server ~]# cp /opt/jdk-7u79-linux-x64.tar.gz /srv/salt/jdk/files/
[root@server ~]# cp /opt/apache-tomcat-7.0.10.tar.gz /srv/salt/tomcat/files/
1.4 Tomcat系统服务脚本
在/opt目录下新建文件tomcat.service,内容如下:
[Unit]
Description=Tomcat7
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
Environment='JAVA_HOME=/u01/jdk'
Environment='CATALINA_PID=/u01/tomcat/bin/tomcat.pid'
Environment='CATALINA_HOME=/u01/tomcat'
Environment='CATALINA_BASE=/u01/tomcat'
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
WorkingDirectory=/u01/tomcat
ExecStart=/u01/tomcat/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
2.SLS模块编写
2.1 JDK安装的SLS模块编写
[root@server ~]# cat /srv/salt/jdk/install.sls
jdk-install:
file.managed:
- name: /opt/jdk-7u79-linux-x64.tar.gz
- source: salt://jdk/files/jdk-7u79-linux-x64.tar.gz
- user: root
- group: root
- mode: 755
cmd.run:
- name: cd /opt && tar zxf jdk-7u79-linux-x64.tar.gz && mv jdk1.7.0_79 /u01/jdk && chown -R root:root /u01/jdk
- unless: test -d /u01/jdk
- require:
- file: jdk-install
jdk-config:
file.append:
- name: /etc/profile
- text:
- export JAVA_HOME=/u01/jdk
- export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
- export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
2.2 Tomcat安装的SLS模块编写
[root@server ~]
include:
- jdk.install
tomcat-install:
file.managed:
- name: /opt/apache-tomcat-7.0.10.tar.gz
- source: salt://tomcat/files/apache-tomcat-7.0.10.tar.gz
- user: root
- group: root
- mode: 755
cmd.run:
- name: cd /opt && tar zxf apache-tomcat-7.0.10.tar.gz && mv apache-tomcat-7.0.10 /u01/tomcat && chown -R root:root /u01/tomcat
- unless: test -d /u01/tomcat
- require:
- file: tomcat-install
tomcat-config:
file.append:
- name: /etc/profile
- text:
- export TOMCAT_HOME=/u01/tomcat
2.3 Tomcat注册服务并开机自启的SLS模块编写
[root@server ~]# cat /srv/salt/tomcat/tomcatservice.sls
tomcat-tomcatservice:
file.managed:
- name: /opt/tomcat.service
- source: salt://tomcat/files/tomcat.service
- user: root
- group: root
- mode: 755
cmd.run:
- name: cd /opt && mv tomcat.service /usr/lib/systemd/system && chown -R root:root /usr/lib/systemd/system/tomcat.service && source /etc/profile && systemctl enable tomcat.service && systemctl start tomcat.service
- require:
- file: tomcat-tomcatservice
2.4 topfile编写
[root@server ~]# cat /srv/salt/top.sls
base:
'*':
- tomcat.install
- tomcat.tomcatservice
3.部署Tomcat
[root@server ~]# salt '*' state.highstate
4.验证
在客户端检查环境变量以及Tomcat版本号,验证是否安装成功
[root@tomcat ~]# source /etc/profile
#查看jdk版本号
[root@tomcat ~]# java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
#查看Tomcat版本号
[root@tomcat ~]# /u01/tomcat/bin/version.sh
Using CATALINA_BASE: /u01/tomcat
Using CATALINA_HOME: /u01/tomcat
Using CATALINA_TMPDIR: /u01/tomcat/temp
Using JRE_HOME: /u01/jdk
Using CLASSPATH: /u01/tomcat/bin/bootstrap.jar:/u01/tomcat/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.10
Server built: Mar 5 2011 01:07:22
Server number: 7.0.10.0
OS Name: Linux
OS Version: 3.10.0-123.el7.x86_64
Architecture: amd64
JVM Version: 1.7.0_79-b15
JVM Vendor: Oracle Corporation