SaltStack:Grains和Pillars

<h2>1. Grains</h2>Grains可以认为是描述minion本身固有属性的静态数据。例如,minion服务器的操作系统版本、内存的大小、网卡的MAC地址等

列出主机所有的Grains数据命令:

# salt "minion-one" grains.items

查询系统版本:

# salt 'minion-one' grains.item os

我们可以用Grains定位主机:利用-G或--grain对系统为CentOS的机器定位

# salt -G 'os:CentOS' test.ping

定位系统版本为7.X的机器

# salt -G 'osrelease:7.*' test.ping

凡是之前用grains.items列出的所有数据都可以用来匹配主机。并且,Grains还支持自定义,可以满足各种不同的需求。自定义方法很多,以下是一个简单的自定义例子

# salt 'minion-one' grains.setval cpu_num 8

查看自定义后的grains数据

# salt 'minion-one' grains.item cpu_num

这种方法设置的Grains已经被写入到minion机器的配置文件里了,即使重启salt-minion服务,Grain数据也将存在,可以用grains.delval命令进行删除,或者在minion机器上找到数据定义删除配置文件并重启minion。

自定义Grains数据存储在minion的位置如下:

# cat /etc/salt/grains

<h2>2. Pillars</h2>Pillars数据与Grains相似,不同点在于Pillars可以定义为更加动态的形式,并且它是存储在master端的,常用于设置敏感数据。
列出主机所有的Pillars数据命令:

# salt "minion-one" pillar.items

上述命令的执行结果有可能为空,因为master端默认关闭了Pillars,使用vi etc/salt/master把pillar_opts: False注释删除并改为True,再执行上述命令就可以看到主机的Pillars数据了,Pillars还是默认关闭为好,这里只是查看一下,查看完记得关闭。
Pillars同样支持自定义数据,使用Pillars匹配机器可以用-I命令。

<h2>3. Grains与Pillars相同点和不同点</h2><h5>相同点:</h5>都是以key value形式存储的数据库,都为python字典
<h5>不同点:</h5>

906920D1-6A04-4E3F-81B6-2711C3803C82.png

ps: Grains的刷新命令仅用于人为自定义的数据刷新有效,要重新收集机器本身Grains数据必须重启minion。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 学习地址[http://tech.mainwise.cn/?p=438] 更新于 3.25 23:16 salt简...
    J书越来越垃圾了阅读 30,923评论 9 36
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 简述 saltstacksaltstack是一个新的基础平台管理工具,只需要花费数分钟即可运行起来,可以支撑管理上...
    君惜丶阅读 4,994评论 0 2
  • 01 金风玉露一相逢,便胜却人间无数。 这是秦少游的遇见。他是一个幸运的才子,遇到了苏小...
    清扬在诺阅读 260评论 0 3
  • 天气炎热,要吃荤的话,建议宝宝可以多吃点鱼肉和虾肉喔! 新鲜基围虾肉+西葫芦娃娃菜的搭配,清凉爽口。做成丸子,每餐...
    小麦兜妈妈阅读 582评论 0 1