SaltStack的配置管理--jinja
阿新 • • 發佈:2018-01-20
一個 ble ets alt root cti 監聽 lamp star SaltStack的配置管理--jinja
需求場景:使用jinja模板,讓各節點的httpd都監聽在本機的ip
[root@linux-node1 apache]# vim files/httpd.conf 配置文件修改監聽的ip地址和端口以變量的形式 Listen {{ IPADDR }}:{{ PORT }} [root@linux-node1 apache]# vim init.sls apache-install: pkg.installed: - name: httpd apache-config: file.managed: - name: /etc/httpd/conf/httpd.conf - source: salt://apache/files/httpd.conf - user: root - group: root - mode: 644 - template: jinja------------------>聲明這個是模板 - defaults:------------------------>定義默認的參數和值 PORT: 80------------------------->PORT和IPADDR都為變量 IPADDR: {{ grains[‘fqdn_ip4‘][0] }}---->通過grains返回數據,此處返回的是一個列表形式,增加[0]指定第一個 apache-auth: pkg.installed: - name: httpd-tools cmd.run: - name: htpasswd -bc /etc/httpd/conf/htpasswd_file admin admin - unless: test -f /etc/httpd/conf/htpasswd_file apache-service: service.running: - name: httpd - enable: True - reload: True - watch: - file: apache-config [root@linux-node1 apache]# salt -S "192.168.56.11" state.highstate ---------- ID: apache-config Function: file.managed Name: /etc/httpd/conf/httpd.conf Result: True Comment: File /etc/httpd/conf/httpd.conf updated Started: 11:14:08.537957 Duration: 25.518 ms Changes: ---------- diff: --- +++ @@ -42,7 +42,7 @@ # prevent Apache from glomming onto all bound IP addresses. # #Listen 12.34.56.78:80 -Listen 80 +Listen 192.168.56.11:80---->更改為監聽本機ip地址,端口為80 # # Dynamic Shared Object (DSO) Support [root@linux-node1 apache]# netstat -tulnp|grep httpd tcp 0 0 192.168.56.11:80 0.0.0.0:* LISTEN 6837/httpd [root@linux-node1 apache]# vim /srv/salt/base/top.sls prod: ‘linux-node*.example.com‘: - lamp [root@linux-node1 apache]# salt ‘*‘ state.highstate [root@linux-node2 ~]# netstat -tulnp |grep httpd tcp 0 0 192.168.56.12:80 0.0.0.0:* LISTEN 16447/httpd 總結: 1.修改httpd.conf配置 2.修改sls增加: - template: jinja - defaults: PORT: 80 IPADDR: {{ grains[‘fqdn_ip4‘][0] }}
SaltStack的配置管理--jinja