zoukankan      html  css  js  c++  java
  • saltstack的jinjia模板

    比如我们有这样一个需求,就是需要apache监听自己服务器的ip地址.

    这个可以用jinjia模板来实现的.

    实现jianjia模板需要三部

    1.file状态使用template参数

    2.模板文件里面变量使用{{名称}} {{PORT}}

    3.变量列表

      -default:

        PORT:8080

    示例:

    vim apache.sls

    apache-install:

      pkg.installed:

        - name: httpd

    apache-config:

      file.managed:

        - name: /etc/httpd/conf/httpd.conf

        - source: salt://lamp/files/httpd.conf      #这里的salt://指当前环境base里的  /srv/salt

        - user: root

        - group: root

        - mode: 644

        - template: jinjia

    apache-service:

      service.running:

        - name: httpd

        - enable: True

    然后在/srv/salt/master/lamp/files/httpd.conf

    修改文件内容,

    Listen {{ IPADDR}} :80

    给IPADDR这个变量赋值.

    这个赋值是在上面的apache.sls文件里面修改的,参考如下:

      

    vim apache.sls

    apache-install:

      pkg.installed:

        - name: httpd

    apache-config:

      file.managed:

        - name: /etc/httpd/conf/httpd.conf

        - source: salt://lamp/files/httpd.conf      #这里的salt://指当前环境base里的  /srv/salt

        - user: root

        - group: root

        - mode: 644

        - template: jinjia

        - defaults:

          IPADDR: {{grains['fqdn_ip4'][0]}}  #这里如果是pillar的话参考这样{{pillar['apache']['PORT']}},这里也可以通过执行远程命令获取值示例:{{salt['network.hw_addr'('eth0')]}}

          

    apache-service:

      service.running:

        - name: httpd

        - enable: True

  • 相关阅读:
    mkdirp——递归创建目录及其子目录
    rimraf命令 递归删除目录所有文件
    前端面试总结——http、html和浏览器篇
    meta标签
    多行文本溢出显示省略号
    ui-sref
    Angular组件之间通讯
    定义路由的state参数
    angularjs中factory, service和provider
    Oracle Spatial分区应用研究之五:不同分区粒度+本地空间索引效率对比
  • 原文地址:https://www.cnblogs.com/ahliucong/p/10523516.html
Copyright © 2011-2022 走看看