saltsack自动化配置day01:数据系统-Pillar
一. Pillar简介和应用场景
Pillar是Salt用来分发全局变量到所有minions的一个接口。Pillar data的管理类似于Salt State Tree。
Salt 0.9.8版本增加了pillar(动态数据)
存储位置:
* 存储在master端,存放需要提供给minion的信息。
应用场景:
* 敏感信息:每个minion只能访问master分配给自己的。
一、企业生产案例安装apache
1、pillar下的appale.sls
{% if grains['os'] == 'CentOS' %} apache: httpd {% elif grains['os'] == 'Debian' %} apache: apache2 {% endif %}
- 直接写个apache: httpd完事
- 状态文件里面用pillar,具体什么值pillar帮我判断,pillar用什么判断,pillar用grans帮我判断
- 现在用用不了,是因为你没有指定谁能看到到他
2、pillar下的top.sls
base: '*': - apache
- 谁能执行apache
- 生产的时候*不能随便用,就失去了他的作用
- 你不用安全性功能的话还不如用grans了
- pillar动态的不用重启
3、如何引用pillar(salt下的appale.sls)
apache-install: pkg.installed: - name: {{ pillar['apache'] }} apache-service: service.running: - name: {{ pillar['apache'] }} - enable: True
- 如何查看pillar
- 解析后是python的字典
- 直接可以在sls里面写python的语法,它自己能兼容
三、生产企业案例安装zabbix
1、配置master
[root@salt-master ~]# vim /etc/salt/master pillar_roots: base: - /srv/pillar [root@salt-master ~]# mkdir -p /srv/pillar [root@salt-master ~]# cd /srv/pillar/
2、pillar下的zabbix.sls
[root@salt-master pillar]# vim zabbix.sls
Zabbix_Server: 10.1.0.111
3、pillar下的top.sls
[root@salt-master pillar]# vim top.sls
base: '10.1.0.112': - zabbix
4、刷新设置的值
[root@salt-master pillar]# salt '*' saltutil.refresh_pillar #刷新值 10.1.0.112: True salt-master: True [root@salt-master pillar]# [root@salt-master pillar]# salt -I 'Zabbix_Server:10.1.0.111' test.ping #测试 10.1.0.112: True
salt 'minion' pillar.items 查看是否会列出test.sls的配置信息
salt 'minion' pillar.item hostname 查看是否会列出hostname的配置信息
salt -I hostname:minion cmd.run ls 查看是否会执行根据配置信息去匹配minion并执行远程命令
四、小结
更多sls状态文件见:https://github.com/topics/saltstack-formula
作者:罗阿红
出处:http://www.cnblogs.com/luoahong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。