salt使用file,pillar及用jinja渲染模板

初学salt(file,pillar及用jinja渲染模板)

####salt配置

salt-master:

  • ip:192.168.10.91

salt-minion:

  • id:ops1 ip:192.168.10.91
  • id:192.168.10.92 ip:192.168.10.92
  • id:192.168.10.93 ip:192.168.10.93
  • id:192.168.10.94 ip:192.168.10.94
  • id:192.168.10.95 ip:192.168.10.95

####安装salt-master及salt-minion并accecpt key.

####修改master的配置

  1. master添加如下配置,使用file和pillar
file_roots:
  base:
    - /srv/salt/base
  dev:
    - /srv/salt/dev
  prod:
    - /srv/salt/prod
pillar_roots:
  base:
    - /srv/pillar/base
  dev:
    - /srv/pillar/dev
  prod:
    - /srv/pillar/prod

2.创建文件夹

#mkdir -p /srv/salt/{base,dev,prod}
#mkdir -p /srv/pillar/{base,dev,prod}

3.重启salt-master

# service salt-master restart
Stopping salt-master daemon:                               [  OK  ]
Starting salt-master daemon:                               [  OK  ]
使用pillar

1.创建pillar使用的sls 在/srv/pillar/base目录下创建top.sls及zabbixagent.sls cat top.sls

base:   #base环境
    'L@ops1,192.168.10.92':     #列表匹配,匹配ops1及192.168.10.92
        - zabbixagent          #引用zabbixagent.sls或者zabbixagent/init.sls

cat zabbixagent.sls

zabbix-agent:       
    serverhost: 192.168.10.91     #参数
    serverport: 10050             #参数

2.查看所有pillar,可以看出,只有ops1和92匹配到了zabbix-agent的pillar #salt '*' pillar.item zabbix-agent

192.168.10.94:
    ----------
192.168.10.95:
    ----------
192.168.10.93:
    ----------
192.168.10.92:
    ----------
    zabbix-agent:
        ----------
        serverhost:
            192.168.10.91
        serverport:
            10050
ops1:
    ----------
    zabbix-agent:
        ----------
        serverhost:
            192.168.10.91
        serverport:
            10050
使用file

1.在/src/salt/base中创建文件

echo 123 >/src/salt/base/test.txt

2.使用salt去cp文件至minion # salt -E 'op*' cp.get_file salt://test.txt /tmp/test.txt

ops1:
    /tmp/test.txt
使用jinja模板和pillar生成文件

1.在/srv/salt/base目录下创建top.sls,testjinja.sls cat top.sls

base:
  '*':
    - zabbix-agent-init
    - testjinja

cat testjinja.sls

testfile:
  file.managed:
    - name: /tmp/test.txt
    - source: salt://test.txt
    - template: jinja
    - defaults:
      zabbixserverport: {{ pillar['zabbix-agent']['serverport'] }}
      zabbixserverhost: {{ pillar['zabbix-agent']['serverhost'] }}

2.使用jinja生成模板 #salt 'ops1' state.sls test.jinja

ops1:
----------
          ID: testfile
    Function: file.managed
        Name: /tmp/test.txt
      Result: True
     Comment: File /tmp/test.txt updated
     Started: 17:55:59.683959
    Duration: 160.869 ms
     Changes:   
              ----------
              diff:
                  ---  
                  +++  
                  @@ -1,0 +1,2 @@
                  +192.168.10.91
                  +10050

Summary
------------
Succeeded: 1 (changed=1)
Failed:    0
------------
Total states run:     1

3.查看test.txt文件发现已改变

192.168.10.91
10050

转载于:https://my.oschina.net/u/1791060/blog/649691

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值