标签:saltstack
Grain Pillar概念本质上都是key value 型的数据库。
Grains 是存储在minon上的数据,minion启动后就进行Grain计算,是一种静态数据。
Pillar 数据存储在master, 是动态数据,每个minion只能看到自已的pillar。
一个minion可以告诉master它的数据,而minion则需要从master索要pillar数据。
列出所有minion上的Grains项
salt ‘SN18‘ grains.ls
查询 minion上某一具体Grain的值
salt "SN18" grains.item ipv4
my_grain:
bar
my_grain:
bar
key1:
val1
key2:
val2
key1:
val1
my_list:
- one
- two
- three
my_list:
- one
- two
- three
查看对应的minion的/etc/salt/grains 可以发现已经写入的Grains数据
]# salt ‘SN28‘ cmd.run "cat /etc/salt/grains"
SN28:
key1: val1
key2: val2
my_grain: bar
my_list:
]# mkdir -pv /srv/salt/_grains
mkdir: created directory ‘/srv/salt/_grains’
]# vim /srv/salt/_grains/my_grain_mod.py
import time
def now():
grains={}
grains[‘now‘]=time.time()
return grains
-----------------------同步有没有生效--
同步模块到minion
]# salt ‘SN28‘ saltutil.sync_all
重载一次模块
]# salt ‘SN28‘ sys.reload_moduls
查看新设置的Grians
]# salt ‘SN28‘ grains.item now
在minion端设置
登陆到一台minion
vim /etc/salt/minion.d/grains.conf
grains:
roles:
roles:
删除自定义Grains
通过 grains.setval 设置的Grain 可以直接通过下面命令删除
]# salt ‘SN28‘ grains.delval my_grain
SN28:
None
++++++++++++++++++++++++++++++++++++
列出minon上所有Pillar的详细信息
[root@localhost ~]# salt ‘SN28‘ pillar.items
标签:saltstack
原文地址:http://blog.51cto.com/2168836/2103628