什么是pillar?
- grains 很强大,但缺点是这些数据相对来说是静态数据,有变化的数据它无法处理。而pillar可以解决这个问题。pillar 数据存储在master上,指定的minion只能看到自己的pillar数据,其他的minion看不到任何的pillar数据。
- 在saltstack中,pillar和grains都是字典格式,数据通过key/value的格式进行存储。pillar使用独立的加密session,所以pillar可以用来传递敏感的数据,例如ssh-key,加密证书等。
- pillar有哪些函数?
[root@localhost ~]# salt 192.168.184.133 sys.list_functions pillar
192.168.184.133:
- pillar.data
- pillar.ext
- pillar.fetch
- pillar.file_exists
- pillar.filter_by
- pillar.get
- pillar.item
- pillar.items
- pillar.keys
- pillar.ls
- pillar.obfuscate
- pillar.raw
## mkdir -pv /srv/pillar && cd /srv/pillar
## vim user133.sls
user:
- user01
- user02
- user03
## vim user134.sls
user:
- user1
- user2
- user3
## vim top.sls =====> saltstack的操作是从base标签开始的,这里是筛选条件
base:
'192.168.184.133':
- user133 ## 指定user133.sls是192.168.184.133minion端的数据
'192.168.184.134':
- user134 ## 指定user134.sls是192.168.184.134minion端的数据
## salt 192.168.184.133,192.168.184.134 saltutil.refresh_pillar ===>刷新pillar数据
## salt 192.168.184.133,192.168.184.134 pillar.item user
192.168.184.133:
----------
user:
- user01
- user02
- user03
192.168.184.134:
----------
user:
- user1
- user2
- user3
## <================分割================>
## salt 192.168.184.133 pillar.item user
192.168.184.133:
----------
user:
- user01
- user02
- user03
## salt 192.168.184.134 pillar.item user
192.168.184.134:
----------
user:
- user1
- user2
- user3