SaltStack实战【Tomcat部署】

这是一个利用SaltStack实现自动化Tomcat部署的实战案例。在日常工作中,我们可能会需要批量的部署一些软件和环境,例如Tomcat的部署。
本文将根据之前的入门系列知识积累,实践Tomcat的批量部署,如果您还不了解SaltStack或是没有读过之前的文章,请点击下方链接地址查看。

一、简介
本文介绍的实现Tomcat批量部署分为三个步骤:
1、增加tomcat用户和用户组,使用tomcat用户运行tomcat进程服务。
2、安装OpenJDK 和拷贝tomcat包、分配文件夹权限。
3、部署tomcat启动脚本和注册服务、开机自启动。
这是基本的实现思路,并通过该思路编写sls文件。
二、编写SLS
1、目录结构

[root@server01 salt]# tree
/srv/salt/
├── tomcatservice
│   ├── apache-tomcat-8.0.24.tar.gz   ##tomcat主程序压缩包
│   ├── devwar.sls
│   ├── devwar.temp.sls
│   ├── tomcat8080   ## 在本站中tomcat启动脚本中介绍到,tomcat关闭、启动、重启脚本 8080端口的,会将他们拷贝到目标服务器的/etc/init.d文件夹
│   ├── tomcat9090   ## 在本站中tomcat启动脚本中介绍到,tomcat关闭、启动、重启脚本 9090端口的,会将他们拷贝到目标服务器的/etc/init.d文件夹
│   ├── tomcatdev.sls  ## tomcat部署sls 
│   ├── tomcatinit.sls    ## tomcat服务脚本拷贝sls
│   └── usergroupadd.sls  ## 在目标服务器增加用户和组
├── top.sls

2、top.sls
建立top.sls

[root@server01 salt]# cat top.sls
base:
 '*':
  - tomcatservice/usergroupadd
  - tomcatservice/tomcatdev
  - tomcatservice/tomcatinit

3、usergroupadd.sls
在minion端建立tomcat用户和组

tomcat:
 user.present:
   - password: '$1$6Wit4zof$E4yDRIBJQXzwWnx0uVd1Z1'

4、tomcatdev.sls
负责将tomcat主程序压缩包拷贝至目标服务器,解压缩、并赋予tomcat用户和组权限

[root@server01 tomcatservice]# cat tomcatdev.sls 
java-1.8.0-openjdk:
 pkg.installed:
   - name: java-1.8.0-openjdk
 file.managed:
   - name: /usr/local/apache-tomcat-8.0.24.tar.gz
   - source: salt://tomcatservice/apache-tomcat-8.0.24.tar.gz
ungzip:
 cmd.run:
   - names:
     - tar -zxvf /usr/local/apache-tomcat-8.0.24.tar.gz -C /usr/local
chown:
 cmd.run:
   - names:
     - chown -R tomcat.tomcat /usr/local/apache-tomcat-8.0.24

5、tomcatinit.sls
负责将tomcat启动脚本拷贝至目标服务器的/etc/init.d 目录,并使用chkconfig配置服务器的自动启动和关闭

[root@server01 tomcatservice]# cat tomcatinit.sls 
tomcatinit:
 file.managed:
   - name: /etc/init.d/tomcat8080
   - source: salt://tomcatservice/tomcat8080
 cmd.run:
   - names: 
     - 'chkconfig --level 345 tomcat8080 on'
     - 'chkconfig --level 06 tomcat8080 off'
   - require: 
     - file: /etc/init.d/tomcat8080

三、执行结果

建立用户和组

安装openjdk

解压缩tomcat主程序压缩包

赋予解压缩的文件tomcat用户和组权限、拷贝tomcat8080启动脚本并chkconfig配置服务的自动启动和关闭。

发表评论