saltstack的jinja模块应用

匿名 (未验证) 提交于 2019-12-02 23:42:01
  • jinja模块
    有多种方式,以apache的ip和端口为例

  • 第一种:直接在apache下的install.sls中修改,加入port:80即可

  • 第二种

  • 将端口定义成变量的形式: port:{{ port}}

  • 在httpd.conf中也要写入相应的变量


  • 推送

  • 第三种

  • 将变量定义到当前目录下的lib.sls中:{% set host='172.25.58.2' %}

  • 在install.sls中删除host指令,在httpd.conf中同样要定义变量,并写入
    {% from 'apache/lib.sls' import test with context%}


  • 推送

  • 第四种

  • 用静态变量的形式:在install.sls中定义变量:host:grains['ipv4'][1]

  • 同样,在httpd.conf中也要写入相应的变量{{grains[‘ipv4’]}}

  • 以pillar的形式

  • 编辑文件:

 vim /srv/pillar/web/vars.sls {% if grains['fqdn'] == 'server3' %} webserver: httpd state: master ip: 172.25.60.3 port: 8080 {% elif grains['fqdn'] == 'server4' %} webserver: nginx state: backup ip: 172.25.60.4 port: 80 {% endif %} 

  • 编辑install.sls文件
httpd-install:   pkg.installed:     - pkgs:       - httpd:       - php:       - httpd-tools    file.managed:     - name: /etc/httpd/conf/httpd.conf     - source: salt://apache/files/httpd.conf     - user: root     - group: root     - mode: 644     - template: jinja     - context:         port: {{pillar['port']}}         host: {{pillar['ip']}} 

  • 测试:salt server3 state.sls apache.service
  • 在/srv/pillar/web/vars.sls中修改端口和ip,在server3上可以查看端口和ip的变化
文章来源: https://blog.csdn.net/qq_42311209/article/details/91803683
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!