qianqianling 发表于 2018-1-3 20:06:31

SaltStack部署配置Tomcat-第三篇

实验目标
  简单部署tomcat及安装java环境

实现步骤

编写salt的状态模块
  

# pwd  
/srv/salt/base/web
  
# cat tomcat.sls
  
jdk-install:
  
pkg.installed:
  
- name: java-1.8.0-openjdk #rpm包安装不需要添加环境变量
  

  
tomcat-install:
  
file.managed:
  
- name: /usr/local/src/apache-tomcat-8.0.46.tar.gz
  
- source: salt://web/files/apache-tomcat-8.0.46.tar.gz
  
- user: root
  
- group: root
  
- mode: 755
  
cmd.run:
  
- name: cd /usr/local/src && tar zxf apache-tomcat-8.0.46.tar.gz && mv apache-tomcat-8.0.46 /usr/local/ && ln -s /usr/local/apache-tomcat-8.0.46 /usr/local/tomcat
  
- unless: test -L /usr/local/tomcat && test -d /usr/local/apache-tomcat-8.0.46
  


上传apache-tomcat-8.0.46到salt的文件管理目录下
  

# ll /srv/salt/base/web/files/apache-tomcat-8.0.46.tar.gz  

-rw-r--r-- 1 root root 9352747 Oct 162017 /srv/salt/base/web/files/apache-tomcat-8.0.46.tar.gz  


执行状态模块

  

# salt "linux-node2*" state.sls web.tomcat  
linux
-node2.example.com:  

----------  
ID: jdk
-install  
Function: pkg.installed
  
Name: java
-1.8.0-openjdk  
Result: True
  
Comment: The following packages were installed
/updated: java-1.8.0-openjdk  
Started:
00:50:55.027164  
Duration:
46213.48 ms  
Changes:
  

----------  
chkconfig:
  

----------  
new:
  

1.7.4-1.el7  
old:
  

1.3.61-5.el7_2.1  
copy
-jdk-configs:  

----------  
new:
  

2.2-3.el7  
old:
  
giflib:
  

----------  
new:
  

4.1.6-9.el7  
old:
  
java
-1.8.0-openjdk:  

----------  
new:
  

1:1.8.0.144-0.b01.el7_4  
old:
  
java
-1.8.0-openjdk-headless:  

----------  
new:
  

1:1.8.0.144-0.b01.el7_4  
old:
  
javapackages
-tools:  

----------  
new:
  

3.4.1-11.el7  
old:
  
libICE:
  

----------  
new:
  

1.0.9-9.el7  
old:
  
libSM:
  

----------  
new:
  

1.2.2-2.el7  
old:
  
libXcomposite:
  

----------  
new:
  

0.4.4-4.1.el7  
old:
  
libXext:
  

----------  
new:
  

1.3.3-3.el7  
old:
  
libXfont:
  

----------  
new:
  

1.5.2-1.el7  
old:
  
libXi:
  

----------  
new:
  

1.7.9-1.el7  
old:
  
libXrender:
  

----------  
new:
  

0.9.10-1.el7  
old:
  
libXtst:
  

----------  
new:
  

1.2.3-1.el7  
old:
  
libfontenc:
  

----------  
new:
  

1.1.3-3.el7  
old:
  
lksctp
-tools:  

----------  
new:
  

1.0.17-2.el7  
old:
  
nspr:
  

----------  
new:
  

4.13.1-1.0.el7_3  
old:
  

4.11.0-1.el7_2  
nss:
  

----------  
new:
  

3.28.4-12.el7_4  
old:
  

3.21.0-9.el7_2  
nss
-pem:  

----------  
new:
  

1.0.3-4.el7  
old:
  
nss
-softokn:  

----------  
new:
  

3.28.3-8.el7_4  
old:
  

3.16.2.3-14.2.el7_2  
nss
-softokn-freebl:  

----------  
new:
  

3.28.3-8.el7_4  
old:
  

3.16.2.3-14.2.el7_2  
nss
-sysinit:  

----------  
new:
  

3.28.4-12.el7_4  
old:
  

3.21.0-9.el7_2  
nss
-tools:  

----------  
new:
  

3.28.4-12.el7_4  
old:
  

3.21.0-9.el7_2  
nss
-util:  

----------  
new:
  

3.28.4-3.el7  
old:
  

3.21.0-2.2.el7_2  
python
-javapackages:  

----------  
new:
  

3.4.1-11.el7  
old:
  
python
-lxml:  

----------  
new:
  

3.2.1-4.el7  
old:
  
ttmkfdir:
  

----------  
new:
  

3.0.9-42.el7  
old:
  
tzdata
-java:  

----------  
new:
  
2017b
-1.el7  
old:
  
xorg
-x11-font-utils:  

----------  
new:
  

1:7.5-20.el7  
old:
  
xorg
-x11-fonts-Type1:  

----------  
new:
  

7.5-9.el7  
old:
  

----------  
ID: tomcat
-install  
Function:
file.managed  
Name:
/usr/local/src/apache-tomcat-8.0.46.tar.gz  
Result: True
  
Comment: File
/usr/local/src/apache-tomcat-8.0.46.tar.gz updated  
Started:
00:51:41.243020  
Duration:
496.457 ms  
Changes:
  

----------  
diff:
  
New file
  
mode:
  
0755
  
----------
  
ID: tomcat-install
  
Function: cmd.run
  
Name: cd /usr/local/src && tar zxf apache-tomcat-8.0.46.tar.gz && mv apache-tomcat-8.0.46 /usr/local/ && ln -s /usr/local/apache-tomcat-8.0.46 /usr/local/tomcat
  
Result: True
  
Comment: Command "cd /usr/local/src && tar zxf apache-tomcat-8.0.46.tar.gz && mv apache-tomcat-8.0.46 /usr/local/ && ln -s /usr/local/apache-tomcat-8.0.46 /usr/local/tomcat" run
  
Started: 00:51:41.740160
  
Duration: 1288.003 ms
  
Changes:
  
----------
  
pid:
  
9742
  
retcode:
  
0
  
stderr:
  
stdout:
  

  
Summary
  
------------
  
Succeeded: 3 (changed=3)
  
Failed:    0
  
------------
  
Total states run:   3
  


salt "linux-node2*" state.sls web.tomcat
总结
  1.添加状态模块的时候,应该自己得先在别的机器上面跑一遍流程在添加
  2.状态模块中- source: salt://web/files/apache-conf.d #支持ftp或者http上面 base环境的路径
  3.使用的时候要先测试 test=True
  4.ID 有不同表示方式
  5.状态模块需要执行模块执行才能生效
  6.相同的业务用目录进行分类管理
  7.sls文件是从上往下按照顺序执行
  8.一个ID下面一个状态只能出现一次
  9.pkg是虚拟的包管理,在不同系统下面包的安装命令不同 比如 CentOS 和Ubuntu
  10.watch 和watch_in require和require_in 在状态模块中可以统一用其中的一种
  11.salt默认是有缓存的,可以无关紧要的配置重启进程刷新缓存
  salt任务执行过程中不删除缓存目录里面的文件 缓存目录默认为/var/cache/salt
  附 https://github.com/unixhot/saltbook-code/tree/master
页: [1]
查看完整版本: SaltStack部署配置Tomcat-第三篇