saltstack
一、pillar介绍
pillar和grains一样也是一个数据系统,但是应用场景不同。
pillar是将信息动态的存放在master端,主要存放私密、敏感信息(如用户名密码等),而且可以指定某一个minion才可以看到对应的信息。
pillar更加适合在配置管理中运用。
二、piller操作
- 声明pillar
[root@server2 srv]# pwd
/srv
[root@server2 srv]# mkdir pillar # 默认路径为/srv/pillar,目录pillar得自己创建
- 自定义pillar项
[root@server2 pillar]# cat web.sls
{% if grains['fqdn'] == 'server3' %} # fqdn表示域名
webserver: httpd
{% elif grains['fqdn'] == 'server4' %}
webserver: nginx
{% endif %}
port: 80
[root@server2 pillar]# cat top.sls
base:
'*':
- web
[root@server2 pillar]# salt '*' pillar.items
server4:
----------
port:
80
webserver:
nginx
server3:
----------
port:
80
webserver:
httpd
- pillar数据匹配
[root@server2 apache]# pwd
/srv/salt/apache
[root@server2 apache]# cat init.sls
apache:
pkg.installed:
- pkgs:
- {{ pillar['webserver'] }} # 匹配pillar中的webserver
service.running:
- name: httpd
- reload: true
- enable: true
- watch:
- file: /etc/httpd/conf/httpd.conf
/etc/httpd/conf/httpd.conf:
file.managed:
- source: salt://apache/httpd.conf
[root@server2 apache]# salt server3 state.sls apache
server3:
----------
ID: apache
Function: pkg.installed
Result: True
Comment: All specified packages a
本文深入探讨了SaltStack中pillar的概念及其应用场景,pillar作为数据系统,用于动态存储在master端的敏感信息,如用户名和密码,并能指定特定minion访问。文章通过实例展示了如何声明pillar,自定义pillar项,以及如何在配置管理中使用pillar数据进行匹配。
770

被折叠的 条评论
为什么被折叠?



