码迷,mamicode.com
首页 > 其他好文 > 详细

原创-salt批量替换变量(例如nginx域名)

时间:2021-01-21 10:41:27      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:一个   效果   获取   bsp   ada   master   grains   sel   服务器   

当批量更新nginx配置文件是,某些场景中每个服务器都可以使用单独的域名,这时候使用salt批量修改就要使用pillar模块去做变量匹配。下面举例:

编写一个tmp/lyztest.txt。文件传输后匹配变量赋值目标主机b020063的域名为lyz_testb020063.com,实现变量匹配的效果。

 


[root@b020150 lyz-test]# cat pillar-test.sls

{% set hostname = grains.id %}   #获取主机名

{% set domain = pillar[‘lyz_test‘][hostname] %} #去/srv/pillar中lyz_test文件获取主机名对应的值

lyztest.txt:

 file.managed:

   - name: /tmp/lyztest.txt

   - source: salt://lyz-test/test.txt

   - user: root

   - group: root

   - mode: 644

   - template: jinja

   - defaults:

     domain: {{ domain }}

 cmd.run:

   - name: cat /tmp/lyztest.txt

[root@b020150 lyz-test]# cat test.txt

{{ domain }}  #文件里定义变量

 


添加pillar配置:

vim /etc/salt/master

找到pillar目录

[root@b020150 pillar]# cat lyz_test.sls  

lyz_test:

 b020063: lyz_testb020063.com

[root@b020150 pillar]# cat top.sls

base:

 ‘*‘:

   - lyz_test


[root@b020063 tmp]# cat lyztest.txt  

lyz_testb020063.com

---

可以看到文件里的变量已经变成了pillar文件中的值。

原创-salt批量替换变量(例如nginx域名)

标签:一个   效果   获取   bsp   ada   master   grains   sel   服务器   

原文地址:https://www.cnblogs.com/normanlin/p/14304226.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!