Saltstack入门到精通教程(四):mine详解

Salt中的mine用来从minion收集数据,并存放在master上,之后所有的minion都可以通过salt.modules.mine访问到这些数据。因为我们即将要进行的一个实战会用到mine,所以我们这一节详细说一说mine的用法。

我是T型人小付,一位坚持终身学习的互联网从业者。喜欢我的博客欢迎在csdn上关注我,如果有问题欢迎在底下的评论区交流,谢谢。

mine vs grains

前面我们学习了grains,也就是master收集的关于minion的一些静态信息,例如os版本,ip信息,内存硬盘大小等等。而mine是master通过在minion上执行预先定义的salt.modules中的函数来收集信息。

grains中的数据主要是用来对minion进行筛选用的,而mine中的数据主要是为了方便在minion之间传递数据用的。

mine比grains的数据要更加实时,通过Mine Interval这个配置项去设置周期。当然两者都可以手动进行实时刷新。

mine的定义和基本使用

使用mine,只需要在mine_functions关键字下面规定需要在minion上执行的函数即可,如果函数有参数也要一起带上。可以通过pillar或者是minion的配置文件去将mine下发给minion。我们采用pillar下发的方式来举例,例如,在master的/srv/pillar/mine_test.sls中创建pillar内容如下

mine_functions:
  test.ping: []
  network.ip_addrs:
    interface: eth1
    cidr: 192.168.0.0/16

其中相当于定义了两个mine的条目。注意这里并没有表示list的短横线,虽说经过我自己测试加上短线也是没问题,但是在salt.modules.pillar.items中显示的有点怪,同时salt.modules.mine.valid去检查mine定义的时候也会报错。同样的如果没有参数就用空的list来表示。

然后在/srv/pillar/top.sls中将这个pillar分发给所有的minion

base:
  '*':
    - mine_test

然后进行下发

root@saltmaster:/srv/pillar# salt '*' saltutil.refresh_pillar

之后就可以看到所有的minion带上了这两个pillar

root@saltmaster:/srv/pillar# salt '*' pillar.items
minion1:
    ----------
    mine_functions:
        ----------
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值