SaltStack的数据系统Grains

1、SaltStack 数据系统,Grains和Pillar.

Grains  静态数据
  • 当minion启动的时候收集的Minion本地的相关信息。如:操作系统版本,内核版本,cpu,内存,硬盘,设备型号,序列号等。如果不重启,还是之前的数据。
  • grains的作用:    1、资产管理,信息查询    2、用于目标的选择,可以选择所有的系统为centos的机器上执行操作等。    3、配置管理中的使用。

1.2、关于grains的一些用法:

查看所有的grains
[root@wyl01 ~]#  salt 'wyl02' grains.ls

查看所有grains的item, 根据item查看每一项指标数据。
[root@wyl01 ~]# salt 'wyl02' grains.items

查看具体的某一个值,如系统的版本号。

[root@wyl01 ~]# salt 'wyl02' grains.item os
[root@wyl01 ~]# salt 'wyl02' grains.item osrelease


grains做目标的选择, 选中操作系统版本号为6.5的机器,执行命令。

自定义的一个grains,可以在minion中去定义,也可以写一个配置文件。

第一种:在/etc/salt/minion中配置,配置完后要重启,不重启是获取不到的。


[root@wyl02 minion]# service salt-minion restart  #按照上面的修改,修改完重启
# 在wyl01的master机器上去目标匹配这个wyl02机器
[root@wyl01 ~]# salt -G 'roles:webserver' test.ping

wyl02:
    True
第二种:写在/etc/salt/grains文件中 minion会自动在这个文件中找。我们在wyl02机器上定义一个。

重启之前我们在wyl01机器上进行目标选择,发现并没有看到name为wyl-02匹配的结果,然后重启后,就看到了。

如果不重启就必须要刷新,不是说非要重启,下面我们修改了wyl03机器上grains文件中的name值,不重启wyl03机器,刷新后的情况如下 也是可以获取到新的item为name了。

在wyl01机器上进行刷新操作,发现也匹配到wyl03机器上的name值了。

[root@wyl01 ~]# salt '*' grains.item name


注意:如果写到minion配置文件中,也可以不用重启,只要刷新,发现也是可以的。。。

我们在/etc/salt/grains中添加roles这一项配置,为roles: apache ,重启后这里会发现只有一个值 ,就是/etc/salt/minion中roles对应的value值, 而不是2个值,原因是minion配置中的优先级高。

top案列:在top文件中设置roles 这样方便统一管理,我们修改top文件,然后进行目标匹配,然后进行安装httpd服务。

开发一个grains,在master端创建一个grains文件,写在哪?怎么写?

1、自己开发的grains存放的位置是base环境下/srv/salt目录下,创建一个目录,然后将开发的grains文件存放在该位置。

2、python写一个grains脚本,返回一个字典。

3、写好,同步到minion机器上,那么同步到minion上在什么位置呢?第二幅图就是存放在minion端的位置。


grains文件推送到minion端的位置如下:


grains 优先级的高低排序依次为:
  • 系统自带
  • grains文件中写的
  • minion配置文件中写的
  • 自己写的



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值