熬死你的 发表于 2018-7-31 08:01:48

SaltStack的配置管理--jinja

# vim files/httpd.conf  配置文件修改监听的ip地址和端口以变量的形式
  Listen {{ IPADDR }}:{{ PORT }}
  # 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'] }}---->通过grains返回数据,此处返回的是一个列表形式,增加指定第一个
  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

  ->  - watch:
  - file: apache-config
  # 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
  # netstat -tulnp|grep httpd
  tcp      0      0 192.168.56.11:80      0.0.0.0:*               LISTEN      6837/httpd
  # vim /srv/salt/base/top.sls
  prod:
  'linux-node*.example.com':
  - lamp
  # salt '*' state.highstate
  # 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'] }}
页: [1]
查看完整版本: SaltStack的配置管理--jinja