SaltStack基础 - 06Jinja模板
一、 定义http配置文件
1.1 使用pillar定义
### 在pillar中,定义host和port [root@cl-server pillar]# cat web/install.sls {% if grains['fqdn'] == 'cl-node01' %} webserver: httpd host: 192.168.234.11 port: 9090 {% elif grains['fqdn'] == 'cl-node02' %} webserver: nginx {% endif %} ### 在httpd的 install.sls 引用 [root@cl-server pillar]# cat ../httpd/install.sls file.managed: - name: /etc/httpd/conf/httpd.conf - source: salt://httpd/files/httpd.conf - mode: 644 - user: root - template: jinja - context: host: {{ pillar['host'] }} port: {{ pillar['port'] }} ### 在httpd的配置文件 Listen {{ host }}:{{ port }} ### 推送执行: salt cl-node01 state.sls httpd.install
1.2 定义sls文件
### 在httpd下 lib.sls [root@cl-server httpd]# cat lib.sls {% set port = 9091 %} ### 在files下的配置文件httpd.conf中 {% from 'httpd/lib.sls' import port with context %} Listen {{ host }}:{{ port }}