SaltStack部署配置Tomcat-第三篇


實驗目標

簡單部署tomcat及安裝java環境

實現步驟

編寫salt的狀態模塊
[root@linux-node1 web]# pwd
/srv/salt/base/web
[root@linux-node1 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的文件管理目錄下
[root@linux-node1 src]# ll /srv/salt/base/web/files/apache-tomcat-8.0.46.tar.gz 
-rw-r--r-- 1 root root 9352747 Oct 16  2017 /srv/salt/base/web/files/apache-tomcat-8.0.46.tar.gz
執行狀態模塊
[root@linux-node1 web]# 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM