一,定义
Pillar是Salt用来分发全局变量到所有minions的一个接口。不像是state tree, pillar只对匹配类型的minion有效。 这使它为特定的minion存储敏感数据非常有用.官网详细介绍
二,简化pillar配置步骤
正常情况下,每个或每组minion在top.sls中单独配置,这样略显麻烦,可以使用py模式的sls文件来简化配置
1,要启用pillar,首先要修改master中的配置
2,重启salt master
service salt-master restart |
3,建立top.sls,这里使用*号匹配所有的minion到custom
touch /srv/pillar/ top .sls |
4,编写custom/init.sls
touch /srv/pillar/custom/init.sls |
vim /srv/pillar/custom/init.sls |
pillar_root = __opts__[ 'pillar_roots' ][ 'base' ][ 0 ] |
path = '%s/custom/%s' % (pillar_root, id ) |
5,这样以后需要添加对应salt minion的pillar信息时,只要到custom目录下新建以salt id命名的文件,文件内容为yaml格式,就可以自动解析了,省去了到top.sls中添加配置的烦恼。例如 salt id为1.2.3.4-centos.game.web:
touch / srv / pillar / custom / 1.2 . 3.4 - centos.game.web |
vim / srv / pillar / custom / 1.2 . 3.4 - centos.game.web |
编写完后执行下面的命令就能看到age信息了。
salt 1.2 . 3.4 - centos.game.web pillar.item age |
三,总结
pillar系统还是非常灵活的,熟练的使用可以进一步提升自动化的程度。
转载请注明:爱开源 » saltstack应用之简化pillar配置步骤