Saltstack之使用salt安装es6.0以上的head插件

  本实验使用salt安装es6.0以上的head插件

  ES6.0以上手动安装head插件参考:https://www.cnblogs.com/minseo/p/9117470.html

  文件夹目录为

/srv/salt/prod/grunt

  目录结构如下

  install.sls内容如下

node-install:
  file.managed:
    - name: /opt/node-v8.0.0-linux-x64.tar.gz
    - source: salt://grunt/files/node-v8.0.0-linux-x64.tar.gz
    - mode: 755
    - user: root
    - group: root
  cmd.run:
    - name: cd /opt && tar -xf node-v8.0.0-linux-x64.tar.gz 

#设置node环境变量
/etc/profile:
  file.append:
    - text:
      - export NODE_HOME=/opt/node-v8.0.0-linux-x64
      - export PATH=$PATH:$NODE_HOME/bin
      - export NODE_PATH=$NODE_HOME/lib/node_modules
  cmd.run:
    - name: source /etc/profile

#安装head-master
head-install:
  file.managed:
    - name: /opt/master.zip
    - source: salt://grunt/files/master.zip
    - mode: 644
    - user: root
    - group: root
  cmd.run:
    - name: yum -y install unzip && cd /opt && unzip -o master.zip  && sleep 5 && cd /opt/elasticsearch-head-master && source /etc/profile && npm install -g grunt-cli && npm install

#修改配置文件
Gruntfile.js:
  file.managed:
    - name: /opt/elasticsearch-head-master/Gruntfile.js
    - source: salt://grunt/files/Gruntfile.js
    - mode: 644
    - user: root
    - group: root

app.js:
  file.managed:
    - name: /opt/elasticsearch-head-master/_site/app.js
    - source: salt://grunt/files/app.js
    - mode: 644
    - user: root
    - group: root
    #配置文件中需要使用grains取ip地址
    - template: jinja

  配置文件Gruntfile.js增加了一行

  配置文件app.js使用grains赋值

  PS:需要加[0]否则赋值为类似u[192.168.1.4]

  salt安装命令为

salt 'salt-test' state.sls grunt.install saltenv=prod

  

posted @ 2019-05-15 17:35  minseo  阅读(229)  评论(0编辑  收藏  举报