saltstack应用之简化pillar配置步骤

网友投稿 668 2023-02-13

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

saltstack应用之简化pillar配置步骤

定义

简化pillar配置步骤

正常情况下,每个或每组minion在top.sls中单独配置,这样略显麻烦,可以使用py模式的sls文件来简化配置

1,要启用pillar,首先要修改master中的配置

1
vim /etc/salt/master
1
2
3
pillar_roots:
base:
-/srv/pillar

2,重启salt master

1
service salt-master restart

3,建立top.sls,这里使用*号匹配所有的minion到custom

1
2
touch/srv/pillar/top.sls
vim/srv/pillar/top.sls
1
2
*’:
-custom

编写custom/init.sls

1
2
touch/srv/pillar/custom/init.sls
vim/srv/pillar/custom/init.sls
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!py
#coding:utf-8
"""
返回minion对应的pillar信息
"""
import yaml
import os
def run():
"""
  首先获取请求的salt id,例如id是:1.2.3.4-centos.game.web,然后根据获取的pillar_root组合成路径/srv/pillar/custom/1.2.3.4-centos.game.web
如果文件存在,利用yaml模块从文件中读取信息,返回字典
如果文件不存在,则返回空
  """
config={}
id=__opts__['id']
pillar_root=__opts__['pillar_roots']['base'][0]
path='%s/custom/%s'%(pillar_root,id)
ifos.path.isfile(path):
s=open(path).read()
config=yaml.load(s)
returnconfig

5,这样以后需要添加对应salt minion的pillar信息时,只要到custom目录下新建以salt id命名的文件,文件内容为yaml格式,就可以自动解析了,省去了到top.sls中添加配置的烦恼。例如 salt id为1.2.3.4-centos.game.web:

1
2
touch/srv/pillar/custom/1.2.3.4-centos.game.web
vim/srv/pillar/custom/1.2.3.4-centos.game.web
1
2
age:18
name:fox

编写完后执行下面的命令就能看到age信息了。

1
salt1.2.3.4-centos.game.web pillar.item age

总结

上一篇:关于软件系统性能测试的指标的信息
下一篇:saltstack应用之批量部署mysql
相关文章

 发表评论

评论列表