• 自动化运维工具saltstack04 -- 之jinja模板


    jinjia模板

    需求:想让saltstack的file模块分发到minion端的配置文件监听minion端的IP和端口,如何用变量实现?看下面!!

    1、jinja模板加grains使apache监听本地端口

    # cat lamp.sls 
    lamp-install:
      pkg.installed:
        - pkgs:
          - httpd
          - php
          - php-pdo
          - php-mysql
    
    apache-config:
      file.managed:
        - name: /etc/httpd/conf/httpd.conf
        - source: salt://web/files/httpd.conf
        - user: root
        - group: root
        - mode: 644
        - template: jinja       #指定使用jinja模板
        - defaults:     #变量列表
          PORT: 80     #端口变量
          IPADDR: {{ grains['fqdn_ip4'][0] }}     #ip变量{此变量使用grains获取的IP地址}
        - require:
          - pkg: lamp-install
    
    apache-auth:
      pkg.installed:
        - name: httpd-tools
        - require_in:
          -cmd: apache-auth
      cmd.run:
        - name: htpasswd -bc /etc/httpd/conf/htpasswd_file admin admin
        - unless: test -f /etc/httpd/conf/htpasswd_file 
    
    apache-conf:
      file.recurse:
        - name: /etc/httpd/conf.d
        - source: salt://web/files/apache-conf.d
        - watch_in:
           - service: lamp-service
    
    php-config:
      file.managed:
        - name: /etc/php.ini
        - source: salt://web/files/php.ini
        - user: root
        - group: root
        - mode: 644
        - watch_in:
          - service: lamp-service
    
    lamp-service:
      service.running:
        - name: httpd
        - enable: True
        - reload: True
        - watch:
          - file: apache-conf
          - file: apache-config

    1.1、修改apache-config状态下的source指定的配置文件

    # sed -n '42p' /srv/salt/base/web/files/httpd.conf
    Listen {{ IPADDR }}:{{ PORT }}

    注:将之前的Listen 80改为Listen {{ IPADDR }}:{{ PORT }}

  • 相关阅读:
    JS 日期加多少天,减多少天
    SQL 触发器
    SGU100
    连续子数组的最大和
    字符串的排列
    二叉搜索树与双向链表
    数组中出现次数超过一半的数字
    复杂链表的复制
    二叉树中和为某一值的路径
    二叉搜索树的后序遍历序列
  • 原文地址:https://www.cnblogs.com/hei-ma/p/9705891.html
Copyright © 2020-2023  润新知