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

  • 相关阅读:
    python全栈学习--day31(正则)
    python 全栈开发,Day26(hashlib文件一致性,configparser,logging,collections模块)
    python全栈学习--面向对象进阶3
    python全栈学习--面向对象进阶2
    面向对象进阶
    python全栈学习--Day19(面向对象组合,继承)
    python全栈学习--Day18(面向对象交互)
    python全栈学习--Day17(初识面向对象)
    python全栈学习--day15(递归函数,二分查找法)
    python-函数
  • 原文地址:https://www.cnblogs.com/ahliucong/p/10523516.html
Copyright © 2011-2022 走看看